我想使用 Toggle-Event,但仅当窗口大于某个大小时。DIV 应该一直可见。我的解决方案很有效,但是一旦我调整窗口大小,if 语句就不再触发。
有什么提示吗?这是链接:http: //jsfiddle.net/mihaene/wMrjc/
我想使用 Toggle-Event,但仅当窗口大于某个大小时。DIV 应该一直可见。我的解决方案很有效,但是一旦我调整窗口大小,if 语句就不再触发。
有什么提示吗?这是链接:http: //jsfiddle.net/mihaene/wMrjc/
好的,假设我已经解决了您的问题,我只是发布了我的解决方案:http: //jsfiddle.net/5bxLS/
var toggleOn = false;
var toggleState = 0;
function slideIn() {
toggleState = 1;
$("#slider").stop().animate({bottom: "-20px"}, 300);
};
function slideOut() {
toggleState = 0;
$("#slider").stop().animate({bottom: "-180px"}, 300) ;
};
function setToggle() {
if(!toggleOn) {
$('#slider').toggle(slideIn, slideOut);
toggleOn = true;
}
};
function clearToggle() {
if(toggleOn) {
if(toggleState === 1)
$('#slider').click();
$('#slider').off('click');
toggleOn = false;
}
};
function evalToggle() {
if ($(window).width() > 500)
setToggle();
else
clearToggle();
};
//Apparently this does not work in webkit based browsers...
/*$(window).resize(evalToggle);
evalToggle();*/
//But this works:
$(window).resize(evalToggle).resize();
为了停止切换,您必须取消绑定事件(在本例中为单击事件)。单击事件也是执行切换的事件。我以一种可以在开始时启用切换的方式构建我的解决方案(取决于窗口大小)。此外,如果窗口变小,切换状态设置为打开,我已经进行了平滑过渡。希望这是您正在寻找的那个!