2011-12-08 19 views
0

PHPで知っているのは、ページを離れて戻ったりリフレッシュしたりするときに、別のイメージがたくさんあるからです。 jQueryでこれを行うことは可能ですか?jQuery refresh different image

私はテストコードを持っていない申し訳ありませんが、私ははい、これが可能である場合、この

答えて

1

あなたはこの

var random = Math.floor(Math.random()*3); 

if(random == 0){ 
    $('#one').show(); 
} 

if(random == 1){ 
    $('#two').show(); 
} 

if(random == 2){ 
    $('#three').show(); 
} 

のような単純な何かができる:http://jsfiddle.net/LBDAw/

(これはなるため、ページのリロードと同じ変化を見るために何度も何度も実行]をクリックします

+0

パーフェクトさわやかhere維持されて実行されているオフの例!小型で効率的です。ありがとう! –

+0

@WebMasterを手伝ってくれてうれしい! –

1

に開始するか分かりません。

あなたはすべてのクライアント側をやりたいと思っていますが、あなたには2つの選択肢があると思います。 1つは、毎回異なる画像をランダムに表示することです。

第2は、クッキーを保存し、そのクッキー値に基づいて画像を表示することです。

1

クッキーメソッドを使用してユーザーが同じものを2回も受け取らないようにしたい場合は、jsonにすべての情報を貼り付けますeded。

しかし、これはあなたが必要としていたものの過度の可能性があります!

<html> 
    <head> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
     <script type="text/javascript"> 

//JSON with your image data 

      var imageJson = {"images": [ 
     {"imgSrc": "image1.jpg", "imgAlt": "Image one"}, 
     {"imgSrc": "image2.jpg", "imgAlt": "Image two"}, 
     {"imgSrc": "image3.jpg", "imgAlt": "Image three"} 
       ] 
      }; 

//Wait for dom to load then do our stuff 

      $(document).ready(function() { 
       moveCookie(); 
      }); 

//Name off your cookie  
      var cookieName = "counteuoi1dff"; 
//Id off your image tag 
      var imgId = "img1"; 

     function moveCookie(){ 
      if(getCookie(cookieName) != undefined){ 
       var lastImage = parseInt(getCookie(cookieName)); 

      if(lastImage > imageJson.images.length-1){ 
       setCookie(cookieName,0,365); 
       lastImage = 0;    
      } 
       $("#"+imgId).attr("src",imageJson.images[lastImage].imgSrc); 
       $("#"+imgId).attr("alt",imageJson.images[lastImage].imgAlt); 

       setCookie(cookieName,lastImage+1,365);    
      }else{ 
       setCookie(cookieName,1,365); 
       lastImage = 1; 
      } 
     } 

//Default cookie functions for javascript dont worry about these 

      function setCookie(c_name,value,exdays) 
       { 
        var exdate=new Date(); 
        exdate.setDate(exdate.getDate() + exdays); 
        var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); 
        document.cookie=c_name + "=" + c_value; 
       } 
      function getCookie(c_name) 
       { 
        var i,x,y,ARRcookies=document.cookie.split(";"); 
         for (i=0;i<ARRcookies.length;i++) 
          { 
           x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 
           y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 
           x=x.replace(/^\s+|\s+$/g,""); 
           if (x==c_name) 
            { 
             return unescape(y); 
            } 
          } 
        } 

     </script> 
    </head> 
    <body> 
     <img src="image1.jpg" alt="Image one" id="img1"/> 
    </body> 

</html> 

それだけで

+0

完璧に動作しますが、かなり大きいです –