2011-07-31 19 views
0

私はスクリプトを一緒に流すのに問題があると思います。フォルダ内のコンテンツのファイル名を印刷することはできますが、問題はありません。 img URLがdivに表示されているときにスライドショーが動作しています。今私はファイル名を取得する必要があり、エコー....何とか。PHP:opendirを使用してJSスライドショーを作成する

  <script type="text/javascript"> 

     function slideSwitch() { 
      var $active = $('#slideshow DIV.active'); 

      if ($active.length == 0) $active = $('#slideshow DIV:last'); 

      // use this to pull the divs in the order they appear in the markup 
      var $next = $active.next().length ? $active.next() 
       : $('#slideshow DIV:first'); 

      // uncomment below to pull the divs randomly 
      // var $sibs = $active.siblings(); 
      // var rndNum = Math.floor(Math.random() * $sibs.length); 
      // var $next = $($sibs[ rndNum ]); 


      $active.addClass('last-active'); 

      $next.css({opacity: 0.0}) 
       .addClass('active') 
       .animate({opacity: 1.0}, 1000, function() { 
        $active.removeClass('active last-active'); 
       }); 
     } 

     $(function() { 
      setInterval("slideSwitch()", 5000); 
     }); 

     </script> 


     <div id="slideshow"> 
     <?php 
     $dir = "images/featured/"; 
     $dh = opendir($dir); 
     while (($file = readdir($dh)) !== false) { 
     echo ""; 
     } 
     closedir($dh); 
     ?> 
     </div> 

答えて

1

JSとPHPが何をしているかを混乱させるようです。 JSはクライアント側ですが、PHPはサーバー側です(あなたの場合)。コンテンツがブラウザに到達すると、PHPの仕事が完了し、JSが始まります。

あなたのPHPコードは何も出力しません。ここでは、

  1. は、あなたはJSにPHPからデータを渡したい場合は
  2. 時間
  3. エコー空の文字列

でファイル名を1つずつ読んでディレクトリを開き、あなたが実行されています方法です

最後に、通常のJS変数の末尾にを付ける必要はありません標識。しかし、PHPでも必要ですが、PHP(とjQueryオブジェクト)のために$を保持することは、前述のJSとPHPの混乱を減らします。

+0

私は本当にあなたの助言に感謝します。これらを除いて、PHPを自分自身で教えるための最良の方法は何ですか?私の問題は、私はA、B、C、Dの学習の贅沢を持っていないということです。私は現時点で私たちのビジネスに必要なものを解決するためにまっすぐ飛び込まなければなりませんでした。 (だから私はPHPのw/MySQLを知っている!)今私は本当に '正しい'方法を学びたいと思います。私はW3の学校のチュートリアルや他のものをやったことがありますが、より構造化されたカリキュラムが欲しいです。 – Commandrea

+0

まず、専門家を雇うよりも収益/機会が失われてビジネスの収益を損なう可能性があるため、Webページやアプリケーションが正しく行われないため、自分が何をやっているのか知っている人を雇うことになります。それはあなた自身でそれより良くなることをあなたを止めるべきではありません。 1ページに結婚しようとする前に、両方がうまくいくまで、PHPまたはJSのいずれかに固執してください。十分自信が持てば、チュートリアルではなく独自のスクリプトを作成しようとします。小さなものから始めると複雑さが増します。 –

+0

幸い私はこの方法を使って 'スライドショー'を表示する必要はありません。私はちょうどphpでディレクトリから動的にそれを設定できると思ったが、長期的には時間を節約するだろう。今、私がそれを入れた頃には、実際に救われるのに少なくとも6ヶ月はかかるでしょう。私はタオルを投げていて、結婚する前にPHPとJSをよく知るようにアドバイスを取っています。実際の生活のように:)もう一度ありがとう。 – Commandrea

関連する問題