Javascript 当被另一个Div重叠时,在Div上禁用onclick/mousedown
我有一个循环函数,可以在第三个上滑动两个div。可以在此处找到工作示例: 主要功能:Javascript 当被另一个Div重叠时,在Div上禁用onclick/mousedown,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个循环函数,可以在第三个上滑动两个div。可以在此处找到工作示例: 主要功能: var elements = ['#pointsbarDiv', '#hotlink1Div', '#pointsbarDiv', '#hotlink2Div']; function hotlinks_loop(index) { $(elements[index]).css({top: -75, display: 'block'}).animate({top: '+0'}, 30
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
我有一些代码可以在热链接div移动时禁用onclick:
hotlink2BtnClick: function () {
if ($("#hotlink2Div").css("top") === "0px") {
//do stuff;
} else {
//do stuff;
}
},
但是,对于静止点Bardiv,我无法找到在热链接div滑动时禁用onclick/mousedown的解决方案
我尝试了各种“如果”,如以下示例:
if (($("#hotlink1Div").css("top") < "76px" && $("#hotlink1Div").css("bottom") < "150px") || ($("#hotlink1Div").css("top") > "-75px" && $("#hotlink1Div").css("bottom") < "75px")))...
if($(“$”(“#hotlink1Div”).css(“顶部”)<“76px”和&$(“#hotlink1Div”).css(“底部”)<“150px”)|($(“#hotlink1Div”).css(“顶部”)>“-75px”和(“#hotlink1Div”).css(“底部”)<“75px”))。。。
我还想知道,当div在提供的主函数中移动时,是否有方法可以禁用onclick/mousedown
我应该提到,我是javascript/jquery的新手。jquery事件函数传递事件对象-您可以在函数中接受它,并使用它停止传播:
hotlink2BtnClick: function (ev) {
ev.stopPropagation();
另外,如果你把你的js示例放在上面,那么我们就可以把它叉出来,并将它修复返回给你。我创建了一个额外的div,给它一个z索引-1,并将可见性设置为hidden 然后将points div替换为循环的数组中的该值
接着实现了一个类似的代码解决方案hotlink2BtnClick()。该示例不起作用,但这正是我想要做的。我想要的是当HotlinkDiv在pointsbarDiv上滑动时…我想要停止在pointsbarDiv上的任何鼠标向下/再次单击。您的JSFIDLE与您问题中的代码完全不同。上面提到的代码是示例…说明了我有哪些功能,哪些功能没有。我还将在示例中添加主要函数。我还重新编写了问题,以使其更清晰。