jQuery点击事件无法在叠加层上运行

时间:2012-01-05 12:57:24

标签: javascript jquery safari

http://lunapark.waapps.net/en/请转到“新闻”并点击第一张图片。 Click事件是使用jQuery ajax方法调用gallery脚本。稍后点击事件必须在之前的叠加层上打开新的叠加层。没有打开但是当你关闭第一个叠加层时 - 所以新闻'覆盖 - 它打开,你可以看到画廊。这个问题仅在Safari浏览器上出现。我怎样才能解决这个问题?请问任何想法。现在已经感谢了。

此脚本正在运行图库的叠加层

$('div.multiple_img a[href$="jpg"], div.single_img a[href$="png"]').click(function(){
    var post_id = $(this).parents().find(".post-content").next().val();
    $.get(URL+'/get_gallery.php?post_id='+post_id, function(data){
        var sw = $("#image_wrapper_2");
        sw.html(data);
        $("body").addClass("on2");
        $("#overlay2 #page_bg").css("background-color",ww.find(">div").attr("data-bgcolor"));

        if(!($.browser.msie && $.browser.version == '8.0') && !works.isApple()) 
            $("#overlay2").mCustomScrollbar("vertical",400,"easeOutCirc",1,"auto","yes","yes",15);

        works.scrollTo(400, $("#overlay2"), 0);
    });
    return false;

});

此脚本正在运行第一个叠加层

loadPage : function (url){
    $.ajax({
      url: url,
      success: function(data){
        var pw = $("#page_wrapper");
        pw.html(data);
        $("#page_bg").css("background-color",pw.find(">div").attr("data-bgcolor"));
        $("body").addClass("on");

        if(!($.browser.msie && $.browser.version == '8.0') && !works.isApple()) 
            $("#overlay").mCustomScrollbar("vertical",400,"easeOutCirc",1,"auto","yes","yes",15);

        $(".loader").removeClass("on");
        $("#main-nav a").removeClass("show_loader");
        works.scrollTo(400, $("#overlay"), 0);

第一个脚本在loadPage对象的ajax方法

中运行

1 个答案:

答案 0 :(得分:0)

我认为这个问题是由css可见性引起的。当我从

更改我的css属性时
#overlay2{
    height:100%;
    position:fixed;
    width:100%;
    opacity:.94;
    z-index: 60;
    visibility:hidden;
    opacity:0;
    top:0;
    left:0;
    -webkit-transition:all .3s ease-in .1s;
    -moz-transition:all .3s ease-in .1s;
    -ms-transition:all .3s ease-in .1s;
    -o-transition:all .3s ease-in .1s;
    transition:all .3s ease-in .1s;
}

body.on2  #overlay2{
    visibility:visible !important;
    opacity:1;
}

display: none; for #overlay
display: block; for body.on2  #overlay2

适用于Safari,但同时图库无法在打开的第二个叠加层上运行。