2012-12-13 21 views
5

私はworpdressサイトを構築しており、ショートコードを使用して構築されたページに複数のギャラリーがあります。現時点ではすべての画像にrel属性 'prettyPhoto [1]'が与えられていますが、各ギャラリーを別々にする必要があります。 私はこのページに合計56枚の画像があるので、ギャラリー1の最初の画像がライトボックスで開かれると1/56となり、56枚の画像をすべてクリックできます。ギャラリー1は1/16 prettyPhoto 1ページに複数のギャラリーがあります

$(".gallery-icon a").attr('rel', 'prettyPhoto[1]'); 

が、またそれでそれを行うには何をしてください:ギャラリー1/16など は、私は私のraw.jsファイル内のスクリプトのこの行を編集するように言われたのですか?どんな助けでも大歓迎です。ここ は、問題のページへのリンクです:一緒に角括弧の内容に基づいて

http://www.tetra-shed.co.uk/news/

答えて

8

prettyPhotoグループのギャラリー。ギャラリー1に割り当てられているため、同じギャラリーで56枚の画像をすべて取得しています。

ギャラリー1の最初の16枚は、

$(".gallery-icon a").attr('rel', 'prettyPhoto[1]'); 

ギャラリー2の次の16;

$(".gallery-icon a").attr('rel', 'prettyPhoto[2]'); 

質問はrel属性はJS経由で割り当てられていることを考えるとそれを行う方法は - ?さて、私はそれを親の親div IDに基づいて調べます。各gallery-icon要素にはgallery-item親があります。それらのそれぞれは、特定のIDを持つギャラリークラスの一部です。たとえば、

<div id='gallery-3' class='gallery galleryid-555 gallery-columns-4 gallery-size-thumbnail'> 
    <dl class='gallery-item'> 
     <dt class='gallery-icon'> 

このように、固有のギャラリーIDをpretty photoのrel値として割り当てたいとします。すなわち、

$(".gallery-icon a").attr('rel', 'prettyPhoto[gallery-3]'); 

私はこのように、すべてのギャラリーのアイコンを見つけ、親ギャラリーIDを見つけるために、closest()を使用することによって、それを行うだろう。

Finding the id of a parent div using Jquery

私はそれをテストしていませんでしたか、このようなもの以外のものは、あなたが正しい方向に行くを取得する必要があります。

  $('#content').find('.gallery-icon a').each(function() { 

       var gallid = $(this).closest("div").attr("id"); 

       $(this).attr('rel', 'prettyPhoto['+ gallid +']'); 

      });  
+1

あなたの命を救うMcNabそれは初めて働いた。返事と助けをありがとうございました。 –

0

私は多分簡単に解決してきた、私はちょうどeach機能にすべての私のギャラリーdivを通過し、それらの内部の画像にprettyPhotoを初期化しています。

$(document).ready(function(){ 
    $.each($(".gallery"), function(i, val) { 
     var queryString = ".gallery:nth(" + i + ") a[rel^='prettyPhoto']"; 
     $(queryString).prettyPhoto({animation_speed:'normal',theme:'light_square', social_tools: false}); 
    }); 
}); 
+0

なぜdownvote?それは簡単です、それは働いて、あなたのHTMLマークアップはギャラリーからギャラリーに変更する必要はありません(ユーザーが私のウェブ上でギャラリーを追加または削除できるのですばらしいです) –

-1

行われる必要があるすべてはあなたが内側に作成し、あなたの最初のギャラリーに=「prettyPhoto [pp_gal]」

このRELのようになりますあなたのギャラリーを追加し、HTMLでのrelを変更することですあなたのdivは、 "prettyPhoto [ギャラリー1]"(例)

にrel = "prettyPhoto [pp_gal]"を変更し、 "prettyPhoto [gallery2]"のように変更します。

関連する問題