为备用样式表启用/禁用javascript

时间:2012-01-09 01:19:19

标签: javascript jquery stylesheet switch-statement

我正在处理的页面有两个样式表。当选择备用样式表时,我需要运行一个额外的功能来获得我想要的效果。所以我的问题是,如何在备用样式表处于活动状态时编写javascript以仅执行此代码块?

通过两个按钮和styleswitcher.js切换css,如下所示:

<ul class="viewbuttons">
<li><a class="threedview" href="#" onclick="setActiveStyleSheet('default'); return false;">3D View</a></li>
<li><a class="twodview" href="#" onclick="setActiveStyleSheet('alternate'); return false;">2D View</a></li>
</ul>

就javascript而言,我已经采用了备用样式表特定代码(twodview)并将其置于单击功能中,以便在切换样式表时激活

$("a.twodview").click(function(){
all my terrible noob code
});

所以这显然是第一次切换到2dview,但在切换回来时代码仍然存在。我目前正在寻找的是如何在这些方面设置功能:

$("a.threedview").click(function(){
remove all my terrible noob code activated by the twodview
});

我探索的第一个选项是尝试将活动样式表定义为while循环中的变量,但令我惊讶的是,头部并没有真正改变使用styleswitcher.js所以我不明白它是怎么回事切换css(魔术我假设)

这让我回到尝试使用.click()事件,如上所示,任何建议?

谢谢大家。

更新

$("a.twodview").click( function() {
    $('img.small01').off('mouseenter');
    $('div#makeMeScrollable01').off('mouseleave')
    $('img.small02').off('mouseenter');
    $('div#makeMeScrollable02').off('mouseleave')
    $('img.small03').off('mouseenter');
    $('div#makeMeScrollable03').off('mouseleave')
    });
$("a.threedview").click( function() {
    $('img.small01').on('mouseenter');
    $('div#makeMeScrollable01').on('mouseleave')
    $('img.small02').on('mouseenter');
    $('div#makeMeScrollable02').on('mouseleave')
    $('img.small03').on('mouseenter');
    $('div#makeMeScrollable03').on('mouseleave')
    $('div#booma').off('click');
    });
$("a.twodview").click( function() {
    $('div#booma').click( function() {
    setTimeout(function(){$("div#makeMeScrollable01").addClass("currentslide");},2100);
    setTimeout(function(){$("div#makeMeScrollable01").appendTo("body");},2100);
    $("div#makeMeScrollable01").smoothDivScroll("enable");
    setTimeout(function(){$("div#makeMeScrollable01").smoothDivScroll();},2100);
    setTimeout(function(){$("img.small01").hide();},2100);
    });
});

所以我已经想出如何在3D视图和2D视图之间切换悬停/点击功能,问题是.on()部分应该在切换回3D时重新绑定hoverIntent()视图不起作用。

问题可能在于hoverIntent()?将.off()分隔成mouseenter和mouseleave工作得很好,所以我不确定是这种情况。

我觉得好像我的.on()是正确的方法,但没有正确实现,有什么建议吗?

0 个答案:

没有答案