まあ、私はこれを理解するのに苦労しています。私が持っているいくつかのタブでこのコードを使用しているということです.Internet Explorer 10、9を除くすべてのブラウザで完璧に動作します.タブは表示されていますが、それらをクリックしても、情報は変わりません。エラーの内容を調べたところ、実行されていない場合、IE 1 で次のコードが見つかりました。
<script type="text/javascript">
Varien.Tabs = Class.create();
Varien.Tabs.prototype = {
initialize: function(selector) {
var self = this;
$$(selector+' a').each(this.initTab.bind(this));
},
initTab: function(el) {
el.href = 'javascript:void(0)';
if ($(el.parentNode).hasClassName('active')) {
this.showContent(el);
}
el.observe('click', this.showContent.bind(this, el));
},
showContent: function(a) {
var li = $(a.parentNode), ul = $(li.parentNode);
ul.select('li', 'ol').each(function(el){
var contents = $(el.id+'_contents');
//the problem lies here, in IE the if doesn't run
if (el == li) {
el.addClassName('active');
contents.show();
} else {
el.removeClassName('active');
contents.hide();
}
});
}
}
new Varien.Tabs('.product-tabs');
</script>
したがって、IFステートメントの条件が実行されていないということであり、その理由はわかりません。
私は IE 10 と 9 を使用しています。