我有一个循环功能,可以在第3个滑动2个div。可以在此处找到工作示例:http://jsbin.com/OYebomEB/4/。
主要功能:
var elements = ['#pointsbarDiv', '#hotlink1Div', '#pointsbarDiv', '#hotlink2Div'];
function hotlinks_loop(index) {
$(elements[index]).css({top: -75, display: 'block'}).animate({top: '+0'}, 3000, function () {
var $self = $(this);
var currentInstance = this;
setTimeout(function () {
$self.animate({top: $(window).height()}, 3000);
if(currentInstance.hotlinkStop !== true){
hotlinks_loop((index + 1) % elements.length);
}
}, 3000, currentInstance);
});
}
hotlinks_loop(0); // start with the first element
我有一些代码可以在hotlink div移动时禁用onclick:
hotlink2BtnClick: function () {
if ($("#hotlink2Div").css("top") === "0px") {
//do stuff;
} else {
//do stuff;
}
},
然而,对于静止的pointbarDiv我找不到解决方案来禁用onclick / mousedown而hotlink divs滑过它。
我尝试了各种'If,如下例:
if (($("#hotlink1Div").css("top") < "76px" && $("#hotlink1Div").css("bottom") < "150px") || ($("#hotlink1Div").css("top") > "-75px" && $("#hotlink1Div").css("bottom") < "75px")))...
我也想知道是否有办法我可以在div提供的主要功能中禁用onclick / mousedown。
我应该提一下,我是javascript / jquery的新手。
答案 0 :(得分:1)
JQuery事件函数传递给一个事件对象 - 你可以在你的函数中接受它,并使用它来阻止传播:
hotlink2BtnClick: function (ev) {
ev.stopPropagation();
http://api.jquery.com/event.stoppropagation/
另外,如果你将你的js示例放在http://jsfiddle.net上,那么我们可以将它分叉并将其返回给你。
答案 1 :(得分:0)
我设法通过创建一个额外的div来实现这一点,它给它一个-1的z-index并设置隐藏的可见性。
然后用循环中的数组替换点div。
接下来实现类似的代码解决方案hotlink2BtnClick()。