2012-08-22 6 views
0

많은 이미지가 포함 된 웹 사이트에서 작업 중입니다. jquery.i를 사용하기로 결정한이 코드 Here을 참조하십시오.Jquery ASP.NET에서 이미지 슬라이딩

앨범을 클릭하면 이미지의 앨범이 표시됩니다. 모든 이미지가 표시됩니다. 축소판 그림을 클릭하면 해당 이미지가 크게 보입니다. 그것은 HTML 페이지에서 잘 작동합니다. .aspx 페이지에서 앨범 미리보기 이미지를 클릭하면 큰 미리보기가 표시되지 않습니다. 그것은 이미지 아래에 텍스트를 보여줍니다. 모든 경로가 정확합니다.

많은 시도를 한 후에 사무실에서 크롬 브라우저에서 작동하지 않지만 Chrome에서 작동하는 동일한 코드를 시도했습니다.
* 내 코드

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Collection.aspx.vb" Inherits="Collection" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
     <title>Polaroid Photobar Gallery with jQuery</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
     <meta name="description" content="Polaroid Photobar Gallery" /> 
     <meta name="keywords" content="polaroid, jquery, css3, rotation, image gallery"/> 
     <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon"/> 
     <link rel="stylesheet" href="css/style.css" type="text/css" media="screen"/> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
     <script src="js/cufon-yui.js" type="text/javascript"></script> 
     <script src="js/Note_this_400.font.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
      Cufon.replace('span'); 
      Cufon.replace('h1', { 
       textShadow: '0px 1px #ddd' 
      }); 
     </script> 
     <style type="text/css"> 
      h1{ 
       font-size:50px; 
       margin:50px; 
       color:#333; 
      } 
      span.reference{ 
       font-family:Arial; 
       position:fixed; 
       right:10px; 
       top:10px; 
       font-size:15px; 
      } 
      span.reference a{ 
       color:#fff; 
       text-transform:uppercase; 
       text-decoration:none; 
      } 
     </style> 


</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 

    <h1>Polaroid Photobar Gallery</h1> 
     <div id="pp_gallery"> 

      <div id="pp_loading" class="pp_loading"></div> 
      <div id="pp_next" class="pp_next"></div> 
      <div id="pp_prev" class="pp_prev"></div> 
      <div id="pp_thumbContainer"> 

       <div class="album"> 
        <div class="content"> 
         <img src="images/album1/thumbs/1.jpg" alt="images/album1/1.jpg" /> 
         <span>The Sixties by Tetsumo</span> 
        </div> 
        <div class="content"> 
         <img src="images/album1/thumbs/2.jpg" alt="images/album1/2.jpg" /> 
         <span>The Sixties by Tetsumo</span> 
        </div> 
        <div class="content"> 
         <img src="images/album1/thumbs/3.jpg" alt="images/album1/3.jpg" /> 
         <span>The Sixties by Tetsumo</span> 
        </div> 
        <div class="content"> 
         <img src="images/album1/thumbs/4.jpg" alt="images/album1/4.jpg" /> 
         <span>The Sixties by Tetsumo</span> 
        </div> 
        <div class="content"> 
         <img src="images/album1/thumbs/5.jpg" alt="images/album1/5.jpg" /> 
         <span>The Sixties by Tetsumo</span> 
        </div> 
        <div class="content"> 
         <img src="images/album1/thumbs/6.jpg" alt="images/album1/6.jpg" /> 
         <span>The Sixties by Tetsumo</span> 
        </div> 
        <div class="descr"> 
         The Sixties 
        </div> 
       </div> 

       <div class="album"> 
        <div class="content"> 
         <img src="images/album2/thumbs/1.jpg" alt="images/album2/1.jpg" /> 
         <span>Butterfly Girl</span> 
        </div> 
        <div class="content"> 
         <img src="images/album2/thumbs/2.jpg" alt="images/album2/2.jpg" /> 
         <span>Mmmmmmh Strawberries</span> 
        </div> 
        <div class="content"> 
         <img src="images/album2/thumbs/3.jpg" alt="images/album2/3.jpg" /> 
         <span>Polaroid in Picture</span> 
        </div> 
        <div class="content"> 
         <img src="images/album2/thumbs/4.jpg" alt="images/album2/4.jpg" /> 
         <span>Girl with brown hair</span> 
        </div> 
        <div class="content"> 
         <img src="images/album2/thumbs/5.jpg" alt="images/album2/5.jpg" /> 
         <span>Hair up</span> 
        </div> 
        <div class="content"> 
         <img src="images/album2/thumbs/6.jpg" alt="images/album2/6.jpg" /> 
         <span>Smiling Girl</span> 
        </div> 
        <div class="descr"> 
         Portraits 
        </div> 
       </div> 

       <div id="pp_back" class="pp_back">Albums</div> 
      </div> 
     </div> 


     <!-- The JavaScript --> 
     <script src="js/jquery.transform-0.8.0.min.js"></script> 
     <script type="text/javascript"> 
      $(function() { 
       var ie   = false; 
       if ($.browser.msie) { 
        ie = true; 
       } 
       //current album/image displayed 
       var enableshow = true; 
       var current  = -1; 
       var album  = -1; 
       //windows width 
       var w_width  = $(window).width(); 
       //caching 
       var $albums  = $('#pp_thumbContainer div.album'); 
       var $loader  = $('#pp_loading'); 
       var $next  = $('#pp_next'); 
       var $prev  = $('#pp_prev'); 
       var $images  = $('#pp_thumbContainer div.content img'); 
       var $back  = $('#pp_back'); 

       //we wnat to spread the albums through the page equally 
       //number of spaces to divide with:number of albums plus 1 
       var nmb_albums = $albums.length; 
       var spaces  = w_width/(nmb_albums+1); 
       var cnt   = 0; 
       //preload all the images (thumbs) 
       var nmb_images = $images.length; 
       var loaded  = 0; 
       $images.each(function(i){ 
        var $image = $(this); 
        $('<img />').load(function(){ 
         ++loaded; 
         if(loaded == nmb_images){ 
          //let's spread the albums equally on the bottom of the page 
          $albums.each(function(){ 
           var $this = $(this); 
           ++cnt; 
           var left = spaces*cnt - $this.width()/2; 
           $this.css('left',left+'px'); 
           $this.stop().animate({'bottom':'0px'},500); 
          }).unbind('click').bind('click',spreadPictures); 
          //also rotate each picture of an album with a random number of degrees 
          $images.each(function(){ 
           var $this = $(this); 
           var r  = Math.floor(Math.random()*41)-20; 
           $this.transform({'rotate' : r + 'deg'}); 
          }); 
         } 
        }).attr('src', $image.attr('src')); 
       }); 

       function spreadPictures(){ 
        var $album = $(this); 
        //track which album is opened 
        album  = $album.index(); 
        //hide all the other albums 
        $albums.not($album).stop().animate({'bottom':'-90px'},300); 
        $album.unbind('click'); 
        //now move the current album to the left 
        //and at the same time spread its images through 
        //the window, rotating them randomly. Also hide the description of the album 

        //store the current left for the reverse operation 
        $album.data('left',$album.css('left')) 
          .stop() 
          .animate({'left':'0px'},500).find('.descr').stop().animate({'bottom':'-30px'},200); 
        var total_pic = $album.find('.content').length; 
        var cnt   = 0; 
        //each picture 
        $album.find('.content') 
          .each(function(){ 
         var $content = $(this); 
         ++cnt; 
         //window width 
         var w_width  = $(window).width(); 
         var spaces  = w_width/(total_pic+1); 
         var left  = (spaces*cnt) - (140/2); 
         var r   = Math.floor(Math.random()*41)-20; 
         //var r = Math.floor(Math.random()*81)-40; 
         $content.stop().animate({'left':left+'px'},500,function(){ 
          $(this).unbind('click') 
            .bind('click',showImage) 
            .unbind('mouseenter') 
            .bind('mouseenter',upImage) 
            .unbind('mouseleave') 
            .bind('mouseleave',downImage); 
         }).find('img') 
          .stop() 
          .animate({'rotate': r+'deg'},300); 
         $back.stop().animate({'left':'0px'},300); 
        }); 
       } 

       //back to albums 
       //the current album gets its innitial left position 
       //all the other albums slide up 
       //the current image slides out 
       $back.bind('click',function(){ 
        $back.stop().animate({'left':'-100px'},300); 
        hideNavigation(); 
        //there's a picture being displayed 
        //lets slide the current one up 
        if(current != -1){ 
         hideCurrentPicture(); 
        } 

        var $current_album = $('#pp_thumbContainer div.album:nth-child('+parseInt(album+1)+')'); 
        $current_album.stop() 
            .animate({'left':$current_album.data('left')},500) 
            .find('.descr') 
            .stop() 
            .animate({'bottom':'0px'},500); 

        $current_album.unbind('click') 
            .bind('click',spreadPictures); 

        $current_album.find('.content') 
           .each(function(){ 
           var $content = $(this); 
           $content.unbind('mouseenter mouseleave click'); 
           $content.stop().animate({'left':'0px'},500); 
           }); 

        $albums.not($current_album).stop().animate({'bottom':'0px'},500); 
       }); 

       //displays an image (clicked thumb) in the center of the page 
       //if nav is passed, then displays the next/previous one of the 
       //current album 
       function showImage(nav){ 
        if(!enableshow) return; 
        enableshow = false; 
        if(nav == 1){ 
         //reached the first one 
         if(current==0){ 
          enableshow = true; 
          return; 
         } 
         var $content   = $('#pp_thumbContainer div.album:nth-child('+parseInt(album+1)+')') 
                .find('.content:nth-child('+parseInt(current)+')'); 
         //reached the last one 
         if($content.length==0){ 
          enableshow = true; 
          current-=2; 
          return; 
         } 
        } 
        else 
         var $content   = $(this); 

        //show ajax loading image 
        $loader.show(); 

        //there's a picture being displayed 
        //lets slide the current one up 
        if(current != -1){ 
         hideCurrentPicture(); 
        } 

        current     = $content.index(); 
        var $thumb    = $content.find('img'); 
        var imgL_source   = $thumb.attr('alt'); 
        var imgL_description = $thumb.next().html(); 
        //preload the large image to show 
        $('<img style=""/>').load(function(){ 
         var $imgL = $(this); 
         //resize the image based on the windows size 
         resize($imgL); 
         //create an element to include the large image 
         //and its description 
         var $preview = $('<div />',{ 
          'id'  : 'pp_preview', 
          'className' : 'pp_preview', 
          'html'  : '<div class="pp_descr"><span>'+imgL_description+'</span></div>', 
          'style'  : 'visibility:hidden;' 
         }); 
         $preview.prepend($imgL); 
         $('#pp_gallery').prepend($preview); 

         var largeW    = $imgL.width()+20; 
         var largeH    = $imgL.height()+10+45; 
         //change the properties of the wrapping div 
         //to fit the large image sizes 
         $preview.css({ 
          'width'   :largeW+'px', 
          'height'  :largeH+'px', 
          'marginTop'  :-largeH/2-20+'px', 
          'marginLeft' :-largeW/2+'px', 
          'visibility' :'visible' 
         }); 
         Cufon.replace('.pp_descr'); 
         //show navigation 
         showNavigation(); 

         //hide the ajax image loading 
         $loader.hide(); 

         //slide up (also rotating) the large image 
         var r   = Math.floor(Math.random()*41)-20; 
         if(ie) 
          var param = { 
           'top':'50%' 
          }; 
         else 
          var param = { 
           'top':'50%', 
           'rotate': r+'deg' 
          }; 
         $preview.stop().animate(param,500,function(){ 
          enableshow = true; 
         }); 
        }).error(function(){ 
         //error loading image. Maybe show a message : 'no preview available'? 
        }).attr('src',imgL_source); 
       } 

       //click next image 
       $next.bind('click',function(){ 
        current+=2; 
        showImage(1); 
       }); 

       //click previous image 
       $prev.bind('click',function(){ 
        showImage(1); 
       }); 

       //slides up the current picture 
       function hideCurrentPicture(){ 
        current = -1; 
        var r = Math.floor(Math.random()*41)-20; 
        if(ie) 
         var param = { 
          'top':'-150%' 
         }; 
        else 
         var param = { 
          'top':'-150%', 
          'rotate': r+'deg' 
         }; 
        $('#pp_preview').stop() 
            .animate(param,500,function(){ 
             $(this).remove(); 
            }); 
       } 

       //shows the navigation buttons 
       function showNavigation(){ 
        $next.stop().animate({'right':'0px'},100); 
        $prev.stop().animate({'left':'0px'},100); 
       } 

       //hides the navigation buttons 
       function hideNavigation(){ 
        $next.stop().animate({'right':'-40px'},300); 
        $prev.stop().animate({'left':'-40px'},300); 
       } 

       //mouseenter event on each thumb 
       function upImage(){ 
        var $content = $(this); 
        $content.stop().animate({ 
         'marginTop'  : '-70px' 
        },400).find('img') 
          .stop() 
          .animate({'rotate': '0deg'},400); 
       } 

       //mouseleave event on each thumb 
       function downImage(){ 
        var $content = $(this); 
        var r   = Math.floor(Math.random()*41)-20; 
        $content.stop().animate({ 
         'marginTop'  : '0px' 
        },400).find('img').stop().animate({'rotate': r + 'deg'},400); 
       } 

       //resize function based on windows size 
       function resize($image){ 
        var widthMargin  = 50 
        var heightMargin = 200; 

        var windowH  = $(window).height()-heightMargin; 
        var windowW  = $(window).width()-widthMargin; 
        var theImage  = new Image(); 
        theImage.src  = $image.attr("src"); 
        var imgwidth  = theImage.width; 
        var imgheight = theImage.height; 

        if((imgwidth > windowW)||(imgheight > windowH)){ 
         if(imgwidth > imgheight){ 
          var newwidth = windowW; 
          var ratio = imgwidth/windowW; 
          var newheight = imgheight/ratio; 
          theImage.height = newheight; 
          theImage.width= newwidth; 
          if(newheight>windowH){ 
           var newnewheight = windowH; 
           var newratio = newheight/windowH; 
           var newnewwidth =newwidth/newratio; 
           theImage.width = newnewwidth; 
           theImage.height= newnewheight; 
          } 
         } 
         else{ 
          var newheight = windowH; 
          var ratio = imgheight/windowH; 
          var newwidth = imgwidth/ratio; 
          theImage.height = newheight; 
          theImage.width= newwidth; 
          if(newwidth>windowW){ 
           var newnewwidth = windowW; 
           var newratio = newwidth/windowW; 
           var newnewheight =newheight/newratio; 
           theImage.height = newnewheight; 
           theImage.width= newnewwidth; 
          } 
         } 
        } 
        $image.css({'width':theImage.width+'px','height':theImage.height+'px'}); 
       } 
      }); 
     </script> 


    </div> 
    </form> 
</body> 
</html> 
+0

안녕하세요 누구든지 Plz을 도와주세요! 나는 붙어있다 !!!!!!!!!!!! – Joker

답변

2

당신은 VS의 일부입니다 비주얼 스튜디오 IIS 익스프레스/개발 서버에서이 작업을 실행하는 것 같다 *, 나는이와 같은 문제, 단지 설치 프로젝트로했다 Visual Studio의 FileSystem 웹 사이트가 아닌 LOCAL IIS 웹 사이트. IIS에서 iis 가상 디렉터리 응용 프로그램을 만들면 제대로 작동합니다.