2015-12-13 124 views
0

只是想知道是否可以调整我的代码以便在加载时在页面上显示第一个目录的图像,以便在用户单击菜单选项之前显示它们,因为页面看起来像直到菜单选项被选中,这里是我的代码,谢谢。在加载页面时从目录显示图像

<script> 
 
    $(document).ready(function() { 
 
    $("a").click(function() { 
 
     var dir_path = $(this).data("albumid"); 
 
     //var txt=$(this).text(); 
 
     //$(this).text(txt); 
 
     LoadGallery(dir_path); 
 
     return false; 
 
    }); 
 
    }); 
 

 
function LoadGallery(dir_path) { 
 
    $.ajax({ 
 
    url: dir_path, 
 
    success: function(data) { 
 
     $(".image-container").empty(); 
 

 
     $(data).find("a:contains(.jpg), a:contains(.png), a:contains(.jpeg)").each(function() { 
 
     this.href.replace(window.location.host, "").replace("http:///", ""); 
 
     var file = dir_path + $(this).text(); 
 
     $(".image-container").append($("<a href='javascript:;' class='thumb' data-src='" + file + "'><img src='" + file + "' title='Click to enlarge' alt='#'/></a>")); 
 

 
     if ($(".image-container").children("a").length === 30) { 
 
      return false; 
 
     } 
 
     }); 
 

 
     $(".image-container").append("<strong><p>Click on a thumb nail to show a larger image.</p></strong>"); 
 

 
     $(".thumb").bind('click', function() { 
 
     var Popup = "<div class='bg'></div>" + "<div class='wrapper'><img src='<img src=''/>" + "<label href='javascript:;' class='prev-image'>«</label><label href='javascript:;' class='next-image'>»</label><a href='javascript:;' class='close' title='Close'>Close</a>"; 
 
     var Img = $(this).attr("data-src"); 
 
     $("body").prepend(Popup); 
 
     $(".bg").height($(window).height() * 4); 
 
     $(".wrapper img").attr("src", Img); 
 

 
     $(".prev-image").bind('click', function() { 
 
      var prev = $(".image-container").find("img[src='" + Img + "']").parent().prev('a').find("img").attr('src'); 
 
      if (!prev || prev.length === 0) 
 
      return false; 
 
      else { 
 
      $(".wrapper img").attr("src", prev); 
 
      Img = prev; 
 
      } 
 
     }); 
 

 
     $(".next-image").bind('click', function() { 
 
      var next = $(".image-container").find("img[src='" + Img + "']").parent().next('a').find("img").attr('src'); 
 
      if (!next || next.length === 0) 
 
      return false; 
 
      else { 
 
      $(".wrapper img").attr("src", next); 
 
      Img = next; 
 
      } 
 
     }); 
 

 
     $(".close").bind('click', function() { 
 
      $(this).siblings("img").attr("src", "") 
 
      .closest(".wrapper").remove(); 
 
      $(".bg").remove(); 
 
     }); 
 
     }); 
 
    } 
 
    }); 
 
}; < /script>
@import url(http://fonts.googleapis.com/css?family=Varela+Round); 
 
#nav { 
 
    float: left; 
 
    width: 20px; 
 
    margin: 10px 10px 20px 0px; 
 
} 
 
#nav, 
 
#nav ul { 
 
    list-style: none; 
 
    padding: 0; 
 
} 
 
#nav a { 
 
    position: relative; 
 
    display: block; 
 
    width: 105px; 
 
    padding-left: 10px; 
 
    margin: 3px 0; 
 
    text-decoration: none; 
 
    font-family: Geneva, Arial, Helvetica, sans-serif; 
 
    font-variant: small-caps; 
 
    font-weight: bold; 
 
    color: #fff; 
 
} 
 
#nav a:link, 
 
#nav a:visited { 
 
    border-left: #00425E solid 10px; 
 
    color: #fff; 
 
} 
 
#nav a:hover, 
 
#nav a:active { 
 
    border-left-color: #fff; 
 
    background-color: #770709; 
 
    color: #fff; 
 
} 
 
#nav a#here { 
 
    border-left-color: #fff; 
 
    background-color: transparent; 
 
    color: #fff; 
 
} 
 
#nav ul { 
 
    margin-left: 20px; 
 
} 
 
#nav ul a { 
 
    width: 50px; 
 
    color: #fff; 
 
} 
 
.image-container { 
 
    padding-top: 50px; 
 
} 
 
.image-container img { 
 
    background-color: white; 
 
    border: 4px solid #444; 
 
    box-shadow: 0 0 5px #222; 
 
    padding: 3px; 
 
    margin-top: 10px; 
 
    height: auto; 
 
    width: auto; 
 
    max-width: 100px; 
 
    max-height: 100px; 
 
    transition: all .7s ease-in-out; 
 
} 
 
.image-container img:hover { 
 
    border: 4px solid #888; 
 
    cursor: zoom-in; 
 
} 
 
.bg { 
 
    background-color: #333; 
 
    filter: alpha(opacity=70); 
 
    left: 0; 
 
    opacity: 0.7; 
 
    position: fixed; 
 
    top: 0; 
 
    width: 100%; 
 
    z-index: 1000; 
 
} 
 
.wrapper { 
 
    background-color: white; 
 
    border: 3px solid #444; 
 
    box-shadow: 0 0 5px #222; 
 
    padding: 3px; 
 
    position: fixed; 
 
    top: 50%; 
 
    left: 50%; 
 
    transform: translate(-50%, -50%); 
 
    z-index: 1001; 
 
} 
 
.wrapper .next-image { 
 
    position: absolute; 
 
    font-size: 2.8em; 
 
    top: 50%; 
 
    color: #999; 
 
    width: 45px; 
 
    line-height: 30px; 
 
    text-align: center; 
 
    height: 45px; 
 
    border-radius: 100%; 
 
    opacity: 0.7; 
 
    filter: alpha(opacity=40); 
 
    /* For IE8 and earlier */ 
 
    right: 10px; 
 
    left: auto; 
 
    -webkit-touch-callout: none; 
 
    -webkit-user-select: none; 
 
    -khtml-user-select: none; 
 
    -moz-user-select: none; 
 
    -ms-user-select: none; 
 
    user-select: none; 
 
} 
 
.wrapper .prev-image { 
 
    position: absolute; 
 
    font-size: 2.8em; 
 
    top: 50%; 
 
    color: #999; 
 
    width: 45px; 
 
    line-height: 30px; 
 
    text-align: center; 
 
    height: 45px; 
 
    border-radius: 100%; 
 
    opacity: 0.7; 
 
    filter: alpha(opacity=40); 
 
    /* For IE8 and earlier */ 
 
    left: 10px; 
 
    right: auto; 
 
    -webkit-touch-callout: none; 
 
    -webkit-user-select: none; 
 
    -khtml-user-select: none; 
 
    -moz-user-select: none; 
 
    -ms-user-select: none; 
 
    user-select: none; 
 
} 
 
.wrapper .prev-image:hover { 
 
    border: 2px solid #ccc; 
 
    cursor: pointer; 
 
    opacity: 1; 
 
} 
 
.wrapper .next-image:hover { 
 
    border: 2px solid #ccc; 
 
    cursor: pointer; 
 
    opacity: 1; 
 
} 
 
.close { 
 
    background: transparent url(../gallery/close.png) no-repeat; 
 
    height: 32px; 
 
    position: absolute; 
 
    right: -16px; 
 
    text-indent: -9999px; 
 
    top: -16px; 
 
    width: 32px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="content-container" style="height: 600px;"> 
 
    <div id="content" style="height: 600px;"> 
 
    <div style="float: left; width: 200px;"> 
 
     <h1> <span>The Gallery</span> </h1> 
 
     <ul id="nav"> 
 
     <li><a href="" id="here">Gallery</a> 
 
      <ul> 
 
      <li><a href="#" data-albumid="images/gallery/fld01/">2014</a> 
 
      </li> 
 
      <li><a href="#" data-albumid="images/gallery/fld02/">2014</a> 
 
      </li> 
 
      <li><a href="#" data-albumid="images/gallery/fld03/">2014</a> 
 
      </li> 
 
      <li><a href="#" data-albumid="images/gallery/fld04/">2015</a> 
 
      </li> 
 
      <li><a href="#" data-albumid="images/gallery/fld05/">2015</a> 
 
      </li> 
 
      </ul> 
 
     </li> 
 
     <li><a href="../index.html">Back to home</a> 
 
     </li> 
 
     </ul> 
 
    </div> 
 
    <div class="image-container"> 
 
     <strong><p>Select a menu option to display a list of thumb nails.</p></strong> 
 
    </div> 
 

 
    <div class="clear"></div> 
 
    </div> 
 
</div>

回答

0

$(document).ready()功能添加LoadGallery($('a[data-albumid]:first').data('albumid'));像以下。 $('a[data-albumid]:first')将选择具有data-albumid属性的第一个a。希望这会帮助你。

$(document).ready(function() { 
    LoadGallery($('a[data-albumid]:first').data('albumid')); 

    $("a").click(function() { 
     var dir_path = $(this).data("albumid"); 
     //var txt=$(this).text(); 
     //$(this).text(txt); 
     LoadGallery(dir_path); 
     return false; 
    }); 
}); 
+0

谢谢你的回答,它是爆炸和工作的一种享受。 – Dave

相关问题