我正在研究 jquery<li>
悬停效果,它正在 jsfiddle 上工作,但不在测试站点上,即“隐藏”div 未在悬停时显示。
http://jsfiddle.net/rwone/p4xXH/
两者都有相同的资源,html 和 css,唯一的区别是我<script>
在测试站点的头部区域的 js 周围添加了开始和结束标记。
firebug 没有错误。
是否可以使用 jsfiddle 中的所有 js 代码并仅<script>
在其周围包裹标签,或者这是否会导致一些可能阻止悬停效果起作用的语法错误?
这是我在测试站点上使用的代码(没有可用的链接)。
<script>
// begin hover functionality
$(".magic li").each(function() {
var hiddenDiv = $(this).find(".card"),
parentElement = $(this),
api = {};
api.isOpen = false;
api.timeout = null;
api.position = function(){
hiddenDiv.css({
"top": parentElement.offset().top - $("#non_scrollable_area").offset().top - 106,
"left": parentElement.offset().left - $("#non_scrollable_area").offset().left - 94
});
}
api.resetTimeout = function(){
clearTimeout( api.timeout );
}
api.startShowing = function(){
api.resetTimeout();
api.timeout = setTimeout(function(){
api.show();
},200);
}
api.startHiding = function(){
api.resetTimeout();
api.timeout = setTimeout(function(){
api.hide();
},150);
}
api.show= function(){
if(!api.isOpen){
api.position();
hiddenDiv .fadeIn(300);
api.isOpen = true;
// $("#isotope_container").bind("scroll.hiddendiv",api.position);
}
}
api.hide = function(){
if( api.isOpen ) {
api.isOpen = false;
// $("#isotope_container").unbind("scroll.hiddendiv");
hiddenDiv.fadeOut(100);
}
}
hiddenDiv.bind("mouseenter", function() {
api.resetTimeout();
}).bind("mouseleave", function() {
api.startHiding();
}).css("z-index", 100).appendTo("#non_scrollable_area");
$(this).data("hiddenApi",api );
}).bind("mouseenter", function() {
var api = $(this).data("hiddenApi");
api.startShowing();
}).bind("mouseleave", function() { // start closing timeout once mouse leaves isotope element
var api = $(this).data("hiddenApi");
api.startHiding();
});
// begin custom scrollbar
(function($){
$(document).ready(function(){
$(".holder_a, .holder_b, .holder_c, .holder_d").mCustomScrollbar({
set_width:false,
set_height:false,
horizontalScroll:true,
scrollInertia:550,
scrollEasing:"easeOutCirc",
mouseWheel:"auto",
autoDraggerLength:true,
scrollButtons:{
enable:false,
scrollType:"continuous",
scrollSpeed:20,
scrollAmount:40
},
advanced:{
updateOnBrowserResize:true,
updateOnContentResize:false,
autoExpandHorizontalScroll:false,
autoScrollOnFocus:true
},
callbacks:{
onScrollStart:function(){},
onScroll:function(){},
onTotalScroll:function(){},
onTotalScrollBack:function(){},
onTotalScrollOffset:0,
whileScrolling:false,
whileScrollingInterval:30
}
});
});
})(jQuery);
</script>