-2

私が構築しているこのサイトには、Infinite Scroll、Isotope、および .mb_miniplayer_play という名前のオーディオ プレーヤーがあります。私が抱えている問題は、新しいページが読み込まれると、以前に読み込まれたページの css が変更されることです。ページ 2 が読み込まれ、ページ 1 の css が変更されたとします。しかし、それは1つの要素だけです。

さまざまなことを試しましたが、すべてのページが適切に表示され、機能するようには見えません。

コードは次のとおりです。

  **//Audio jquery**

  $(function AudioEvents(){

    $(".audio").mb_miniPlayer({
    width:210,
    height:34,
    inLine:false,
    onEnd:playNext
    });

    var $audios = $('.audio');

    function playNext(idx) {
    var actualPlayer=$audios.eq(idx),
    $filteredAtoms = $container.data('isotope').$filteredAtoms,
    isotopeItemParent = actualPlayer.parents('.isotope-item'),
    isoIndex = $filteredAtoms.index( isotopeItemParent[0] ),
    nextIndex = ( isoIndex + 1 ) % $filteredAtoms.length;

    $filteredAtoms.eq( nextIndex ).find('.audio').mb_miniPlayer_play();
    }



  **//Inifinite Scroll**

  var $container = $('#container');

  $container.isotope({
    itemSelector : '.square'
  });

  $container.infinitescroll({
    navSelector  : '#page_nav',    // selector for the paged navigation 
    nextSelector : '#page_nav a',  // selector for the NEXT link (to page 2)
    itemSelector : '.square',     // selector for all items you'll retrieve
    loading: {
        finishedMsg: 'No more pages to load.',
        img: 'http://i.imgur.com/qkKy8.gif'
      }
    },

    // call Isotope as a callback
      function( newElements ) {
      var $newElements = $(newElements);

      AudioEvents( $newElements );

      // add hover events for new items
      bindSquareEvents( $newElements );

      setTimeout(function() {
      $container.isotope('insert', $newElements );
      }, 1000);
      });
  });

誰もがこれを経験しましたか。私のjqueryコードが間違っているか、何かが欠けていると思いますが、何がわかりません。

HTML マークアップは次のとおりです。変更されている div は .download です。読み込まれたページの 'Top' の css 設定は適切に見えるようにする必要がありますが、新しく読み込まれたページは適切に見えるために top:-24 だけが必要です。

<div class="square techno">

<!-- DJ Picture -->
<img src="Pictures/dirtyharris.jpg" class="img1" />
        <div class="boxtop">
        <span class="genre">Techno</span>
        </div>

        <div class="box">
        <a class="close" href="#close">&times;</a>
        <!-- DJ Name -->
        <h1> ThreeSixty & Dirty Harris</h1>

        <!-- Song Title -->
        <h2>Louka (Funkagenda Re-Edit)</h2>

         <!--Song Description(179 characters with spaces)-->
        <h4>I had to include this one since it literally took over control of me while driving the other morning. I was bouncing around in my seat like a little kid who desparately needs to use the bathroom. </h4> 

            <div class="buttons">
            <!--Song file info-->
            <div class="player">
            <a id="m85" class="audio {skin:'#010101',showVolumeLevel:false,showTime:false,showRew:false,ogg:'MP3/Adrian Lux feat. The Good Natured - Alive (Extended Mix).ogg'}" href="MP3/Adrian Lux feat. The Good Natured - Alive (Extended Mix).mp3"></a></div>


                <!--Download Link-->
                <div class="download">
                <a href="MP3/ThreeSixty, Funkagenda - Loudka (Funkagenda Re-Edit).mp3" title='Right Click and Save Link As'>
                <img src="img/dlicon.png"/></a>

                </div>
            </div>
        </div>

</div>
4

1 に答える 1

0

jquery の CSS に変更が加えられていません。CSS は、ページに基づいてスタイルを自動的に変更することはできません。確かにJqueryまたはphpで操作できますが、これもわかりません。

于 2012-01-17T04:56:30.843 に答える