2012-03-15 2 views
0

私はアンカーのリストを持っているWebページを持っています。アンカーのリストには、clearbox3を使ってそれらをギャラリーとして表示します。最初のアンカーだけが「写真を見る(3)」をクリックするためのテキストリンクを持っています。他のものはクリアボックスギャラリーにイメージを取得するだけです。そしてそれはうまく動作します。私が必要とするのは、別のコントロールのユーザークリックからクリアボックスイメージギャラリーを表示する方法です。私はasp.net ImageButtonコントロール(入力タグにマップ)からそれをやろうとしていますが、あまりにも幸運にもアンカーを使用しようとしました。JavaScriptからClearbox3ギャラリーを呼び出すにはどうすればいいですか?

clearboxのイメージギャラリーのためのアンカーは次のようになります。 - :

<a id="photoLink" href="http://tempo5.sandicor.com/SNDImages/221/071064797_101_12.jpg" rel="clearbox[gallery=929 Border Ave, Del Mar, California, 92014,,tnhrf=http://tempo5.sandicor.com/SNDImages/221/071064797_101_12.jpg]">View Photos (6)</a> 
<a href="http://tempo5.sandicor.com/SNDImages/221/071064797_201_22.jpg" rel="clearbox[gallery=929 Border Ave, Del Mar, California, 92014,,tnhrf=http://tempo5.sandicor.com/SNDImages/221/071064797_201_22.jpg]"></a> 
<a href="http://tempo5.sandicor.com/SNDImages/221/071064797_301_22.jpg" rel="clearbox[gallery=929 Border Ave, Del Mar, California, 92014,,tnhrf=http://tempo5.sandicor.com/SNDImages/221/071064797_301_22.jpg]"></a> 

私の「その他」コントロール(現在のasp.netのImageButton入力コントロールに>マップは次のようになります

<input type="image" name="ctl00$ContentPlaceHolderCol2$mainPropertyPhoto" id="ctl00_ContentPlaceHolderCol2_mainPropertyPhoto" src="http://tempo5.sandicor.com/SNDImages/221/071064797_101_12.jpg" /> 

そして最後に、ここで私はclearboxでは動作しませんでした(とクロスブラウザがとにかくサポートされていない)のImageButton /入力コントロールのonClick属性から起動しようとしたのjavascript:

<script type="text/javascript"> 
    function clickPhotoLink() 
    { 
     document.getElementById("photoLink").click(); 
    } 
</script> 

私の質問はこれです。入力コントロールなどの別のコントロールから上のアンカーリストを使用してクリアボックスギャラリーをセットアップするにはどうすればよいですか?私はすでにonClick属性(asp.netのonClientClickプロパティと同じ)を使ってスクリプトを実行しようとしましたが、リスト内の最初のアンカーに.click()を呼び出したり、 "CB_Open( 'href = mycontent ,, parameter2 = value 2、、parameter3 = value 3 ,, ...');を使用して別のギャラリーを正確に再構築する"クリアボックスページで定義された構文。 .click()は、a)ブラウザ間で一貫性がないので動作しませんが、b)リンクをクリックしたユーザーと実際には同じではないため、b)また、CB_Openスクリプトを使用して重複したギャラリーを再構築するのは非常に理想的な選択肢ではありませんでしたし、動作させることもできませんでした.click()は実際にはユーザーのクリック

ImageButton(入力コントロール)を代わりにアンカーに変更して、表示しているギャラリーの最初のhrefに設定することができます。リスト内の画像#2で始まるアンカーの他のリストを設定します。ただし、ユーザーがテキストリンク「写真を表示(3)」をクリックすると、最初の写真ではなく2番目の写真のインデックスにクリアボックスが表示されます。それはうまく動作しますが、アンカーのhrefがイメージ2ではなく1であるため、クリアボックスの意味を持たない最初の写真(両方の場所から)を表示する必要があるので、理想的な解決策ではありません。 。

基本的には、別のコントロール(おそらく別のアンカーでも、ギャラリーからの画像を除いて、定義されたアンカーのリストがアソシエートされた、既に定義された/作成されたクリアボックスギャラリーを呼び出す方法があるかどうかは疑問です。重複および/または上記の問題)

ご協力いただきまして誠にありがとうございます。

答えて

0

stackoverflow答え:

解決済み。入力コントロールを使用してクリックを開始する代わりに、アンカーコントロール(画像付き)に切り替え、href属性を設定して、 "onclick"と "rel"( clearbox)属性を使用してクリアボックス画像ギャラリーを表示します。

<a href="javascript:CB_Open('gallery=929 Border Ave, Del Mar, California, 92014,,href=http://tempo5.sandicor.com/SNDImages/221/071064797_101_12.jpg');" id="ctl00_ContentPlaceHolderCol2_mainPhotoAnchor" class="mainPhotoAnchor"><img src="http://tempo5.sandicor.com/SNDImages/221/071064797_101_12.jpg" class="mainPhotoImage" /></a> 

私のASP:

結果のHTMLはこれです。ネットコードの背後にこれは:

HtmlAnchor mainPhotoAnchor = new HtmlAnchor(); 
mainPhotoAnchor.InnerHtml = "<img src=\"" + arrPhotoUrls[0] + "\" class=\"mainPhotoImage\" />"; 
mainPhotoAnchor.HRef = "javascript:CB_Open('gallery=" + displayAddress + ",,href=" + arrPhotoUrls[0] + "');"; 
関連する問題