2013-09-28 96 views
0

嗨即時做一個PHP循環,我設置一個類,這個循環制作一個項目列表,並且它們中的每一個都會有一個「共享」按鈕,它將打開一個窗口,(div顯示:無)的JavaScript打開這個div,和它的作品完美..在javascript中增加+1類

我的問題是,在這一刻我已插入循環內的<script>代碼,以便每個項目都有自己的<script></script>代碼...

有什麼辦法只做一個,並從PHP循環中取出代碼,以便我可以改進代碼。

<script> 
    $('a.sharebtnc').click(
      function(event) { 
       event.stopPropagation(); 
       $('div.redescompartir').fadeToggle(300); 

      } 
     ); 
    </script> 

在循環好,我剛添加到類的ID是這樣的(編號:32)

<script> 
    $('a.sharebtnc32').click(
      function(event) { 
       event.stopPropagation(); 
       $('div.redescompartir32').fadeToggle(300); 

      } 
     ); 
    </script> 

我怎樣才能讓這個腳本適用於所有元素無論ID號,我不知道,但我知道這是做這件事的正確方法,對吧?

的HTML很簡單,它同樣爲每個項目......我的意思是每個項目都有自己的div與<a href="" > </a>元素

<a href="#" class="sharebtnc(id)"> 
<div class="redescompartir(id)"> 
<a href="" >Twitter </a> 
<a href="" >Facebook </a> 
<a href="" >Google </a> 
<a href="" >Foursquare </a> 
</div> 
+0

什麼是DOM的樣子? 「輸入」是「div」的孩子,父母還是兄弟姐妹?正確的做法是使用'this'來引用clicked元素,然後遍歷你想要切換的目標。 – nrabinowitz

+0

div是一個普通div,我會粘貼我的代碼,但它是一個具有四個href元素的普通div。 –

回答

2

到輸入元素添加一個新的類和屬性一樣

而不是

<a class="sharebtnc32" /> 

使用

<a class="sharebtnc sharebtnc32" data-id="32"/> 

然後

jQuery(function ($) { 
    $('.sharebtnctl').click(function (event) { 
     event.stopPropagation(); 
     $('.redesopenclose' + $(this).data('id')).fadeToggle(300); 
    }); 
}) 
+0

對不起,也許我沒有做出正確的問題,類的屬性,它在PHP循環完成,所以我得到像80班,例如,班級sharebtnid ...(例如sharebtn32 sharebtn33等)我需要一個通用的代碼,爲他們所有人在javascript中保存行 –

+1

@MonchoChavez仍然可以有一個元素的多個類 –

+0

我沒有看到最後一部分,將在一分鐘內acept –

1

我的優選方法:PHP生成所述兩個元件之間的鏈路,則JS的小片段抓取哪些特定的一個被點擊。

PHP:

$num = 100; 

for ($x = 0; $x < $numItems; $x++) { 
    echo " 
    <a href='#' class='sharebtn' target='$x'>Share</a> 

    <div class='redescompartir' id='$x'> 
    <a href=''>Twitter</a> 
    <a href=''>Facebook</a> 
    <a href=''>Google</a> 
    <a href=''>Foursquare</a> 
    </div> 
    "; 

} 

HTML輸出:

<a href="#" class="sharebtn" target='32'>Share</a> 

<div class="redescompartir" id='32'> 
<a href="" >Twitter </a> 
<a href="" >Facebook </a> 
<a href="" >Google </a> 
<a href="" >Foursquare </a> 
</div> 

JS:

$('a.sharebtn').on('click', function(e) { 
    e.stopPropagation(); 
    var target = $(e.currentTarget).attr('target'); 
    $('#'+target).fadeToggle(300); 
}); 

這樣,你只需要一個<script></script>標籤,你的用戶的broswers會感謝你。 :)

+0

謝謝,我會測試我已經有PHP工作正常:D,我知道PHP我的問題,它與Java謝謝讓我試試 –

+0

:(該死的什麼即時失蹤,http://jsfiddle.net/LSNXQ/1/ –

+0

看看這是否有助於你診斷問題:http://jsfiddle.net/LSNXQ/3/ – Bavell