0

PrettyPhoto Jqueryプラグインをサイトに画像を表示するためのライトボックスとして使用しています。ユーザーがサムネイルをクリックすると、画像がオーバーレイDIVに表示されます。

デフォルトでは、PrettyPhoto<a>は画像を囲むアンカーリンク()で動作します。アンカーには、画像の元のサイズ/大きいバージョンへのリンクがあります。タグを使用したくない<a>のは、これらの画像がインデックスに登録されず、nofollowを使用しないことを望んでいるためです。<a>たとえば、をに置き換えて同じ結果を達成するオプションはありますか?

自分で試しましたが、意図したとおりに元の画像でオーバーレイdivがトリガーされませんでした。たぶん、それを機能させるためにコードでできることがあります。

繰り返しますが、したくない:

 <a href="original-image.jpg"><img src="thumb,jpg /></a>

欲しい:

 <span data-source="original-image.jpg"><img src="thumb.jpg /></span>

元のファイルの非圧縮Jqueryプラグインは、このリンクからダウンロードできます

別の方法としては、アンチョを保持しながらhref="#"、元の画像のURLを使用して「data-source」などの別の属性に配置し、そこから読み取ることもできます。これはさらに良いオプションです。

ありがとう

4

1 に答える 1

1

プラグインでこの行を変更してみてください

pp_images = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return $(n).attr('href'); }) : $.makeArray($(this).attr('href'));

pp_images = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return $(n).attr('data-source'); }) : $.makeArray($(this).attr('data-source'));

編集:そして

set_position = jQuery.inArray($(this).attr('href'), pp_images); // Define where in the array the clicked item is positionned

set_position = jQuery.inArray($(this).attr('data-source'), pp_images); // Define where in the array the clicked item is positionned
于 2012-10-16T12:33:36.730 に答える