1

サムネイルをメイン画像に置き換えるjQuery関数があります。これは、メイン画像を置き換えるために使用するコードです。

$(document).ready(function(){
    $(".wheelFinishThumbs a").click(function() {
    var mainImage = $(this).attr("href");
    var mainTemp = mainImage.replace(/-mid/,'');
    var mainTemp = mainTemp.replace(/png/,'jpg');
    $("#main_view img").attr('src', mainImage );
    $("#main_view a").attr('href',mainTemp);
    return false;       
    });

PHP関数を使用して、ヘッダー値を変更して画像をダウンロード(保存)します。これは私が画像をダウンロードするために使用するHTMLコードです

<a href="#" onclick="window.open('download.php?file=image.jpg','_self', 'download', 'status=0');">Click to download</a> 

ただし、「image.jpg」は動的変数である必要があるため、jQuery画像置換関数でこの引数を呼び出し、メイン画像を変更するたびに「image.jpg」を動的に置換する必要があります。var mainImageimage.jpgを画像スワッピング機能から置き換えたい。

私のjQueryの知識は本当に限られているので、誰かが私にそれをするのを手伝ってくれるなら、それは素晴らしいことです。

4

2 に答える 2

4

jQuery 1.7以降を使用している場合、これは機能するはずです。

hrefを新しい画像に動的に設定した後、タグのマークアップが次のようになると仮定します

<a href="urltoSomeImage.jpg" id="main_view">Download Image</a>

JavasScript

$(function(){
  $(document).on("click","#main_view",function(e){
      e.preventDefault();
      var self=$(this);
      alert("replace this with awesome code")

      window.open('download.php?file='+self.attr("href")+,'_self', 'download', 'status=0');
  });
});

id main_viewを持つ要素への機能のバインドを対象としているため、この関数は単一の要素でのみ機能することに注意してください。IDはDOM内で一意である必要があるため、多くのタグに機能を持たせたい場合は、このようなタグに共通のクラスセレクターを追加します。

<a class="aDownloadble" href="urltoSomeImage2.jpg" id="main_view">Download Image2</a>
<a class="aDownloadble" href="urltoSomeImage4.jpg" id="main_view">Download Image4</a>

そして、このように私のスクリプトを更新します

$(function(){
  $(document).on("click",".aDownloadble",function(e){
      e.preventDefault();
      var self=$(this);
      alert("replace this with awesome code")

      window.open('download.php?file='+self.attr("href"),'_self', 'download', 'status=0');
  });
});

jQueryonは必要ありません。clickイベントバインディングを直接使用できます。ただし、これらのリンクのマークアップをajaxを介してロードする場合/ DOMに動的に挿入する場合は、onまたはを使用する必要がありますlive

于 2012-06-14T19:27:26.507 に答える
0
$(document).ready(){

    $("#main_view a").click(function() {
     // Code to run when user clicks on link
    });
});
于 2012-06-14T19:24:48.710 に答える