-2

在我正在构建的这个站点上,我有 Infinite Scroll、Isotope 和一个名为 .mb_miniplayer_play 的音频播放器。我遇到的问题是当加载新页面时,以前加载的页面上的 css 会发生变化。假设第 2 页已加载,第 1 页的 css 更改。但它只是一种元素。

我尝试了各种方法,但似乎没有什么能让所有页面看起来和正常工作。

代码如下:

  **//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:-114,而新加载的页面只需要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 回答