2012-04-30 13 views
0

誰かが私を助けてくれるかどうかは疑問です。fancyBoxとjQuery削除ツールの競合

thisイメージギャラリーページを作成するスクリプトをまとめました。私はスライドショーを作成するために 'fancyBox'を使い、削除機能を提供するために適応した​​を元にしたjqueryデモを使用しています。

私は自分のコードのこれらの行の周りに嘘を持っている問題:

<ul id="gallery" class="gallery ui-helper-reset ui-helper-clearfix"> 

     <?php for ($i = 0; $i < $descriptions->documentElement->childNodes->length; $i++) : 
          $xmlFile = $descriptions->documentElement->childNodes->item($i); 
          $name = htmlentities($xmlFile->getAttribute('originalname'), ENT_COMPAT, 'UTF-8'); 
          $description = htmlentities($xmlFile->getAttribute('description'), ENT_COMPAT, 'UTF-8'); 
          $source = $galleryPath . rawurlencode($xmlFile->getAttribute('source')); 
          $thumbnail = $thumbnailsPath . rawurlencode($xmlFile->getAttribute('thumbnail')); 
        ?> 

        <li class="ui-widget-content ui-corner-tr"> 
     <a class="fancybox" rel="allimages" title="<?php echo $name; ?>" href="<?php echo $source; ?>"><img src="<?php echo $thumbnail; ?>"alt="<?php echo $description; ?>" width="96" height="72"/> </a><a href="link/to/trash/script/when/we/have/js/off" title="Delete this image" class="ui-icon ui-icon-trash">Delete image</a> 
     <?php endfor; ?> 
     </li> 
     </ul> 

これらの線:<ul id="gallery" class="gallery ui-helper-reset ui-helper-clearfix"><li class="ui-widget-content ui-corner-tr">とそれぞれの終了タグを含めて、「fancyBox」機能は動作しません。それらがなければ、それはうまく動作します。

私は比較的jQueryを使い慣れています。私は数日間この作業を続けてきましたが、解決策を見つけることができません。

私はちょうど誰かがこれを見て、私が間違っている場所を教えてもらえるかどうか疑問に思いました。

追加情報については、下記の 'fancyBox'スクリプトを追加しました。

<script type="text/javascript"> 

      $('.fancybox').fancybox({ 
       openEffect : 'elastic', 
       closeEffect : 'elastic', 

       padding : 20, 
       fitToView : true, 

       prevEffect : 'none', 
       nextEffect : 'none', 

       closeBtn : false, 
       arrows : false, 

       helpers : { 
        title : { 
         type : 'inside' 
        }, 
        buttons : {} 
       }, 

       afterLoad : function() { 
        this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : ''); 
       } 
      }); 


</script> 

多くの感謝と種類について

答えて

0

ギャラリーはjqueryの-UIからdisplay:noneセットを持っています例。

<ul id="gallery" class="gallery ui-helper-reset ui-helper-clearfix"> 


<ul id="gallery" class="ui-helper-reset ui-helper-clearfix"> 
0

たぶん、あなたは前に</li>ない後​​を配置する必要があります。

あなたはFancyboxがあなたの削除ツールは

// resolve the icons behavior with event delegation 
$("ul.gallery > li").click(function(event) { 
var $item = $(this), 
$target = $(event.target); 
if ($target.is("a.ui-icon-trash")) { 
    deleteImage($item); 
} else if ($target.is("a.ui-icon-zoomin")) { 
    viewLargerImage($target); 
} else if ($target.is("a.ui-icon-refresh")) { 
    recycleImage($item); 
} 
return false; 
}); 

この機能を使用するスクリプト

+0

こんにちは、これで私を助けるために多くの感謝:

は、単純にこの行を修正します。私はあなたが示唆したように、上記の2つの行を変更しましたが、残念ながら、問題はまだそこにあります。オリジナルの投稿に 'fancyBox'スクリプトを追加しました。これがあなたが必要とするものであることを願っています。あなたが必要とするものがあれば、お気軽にお尋ねください。親切には – IRHM

0

はので、これはfancyboxにバインドされた子要素<a class="fancybox">上の任意のアクションを妨げている初期化に書いた方法を表示します。

たぶん、あなたは次のように$taget.is("a.fancybox")場合return falseを迂回する別の条件を追加することができます。ただ、将来的にこの問題を持っている人のため

// resolve the icons behavior with event delegation 
$("ul.gallery > li").click(function(event) { 
var $item = $(this), 
$target = $(event.target); 
if ($target.is("a.ui-icon-trash")) { 
    deleteImage($item); 
} else if ($target.is("a.ui-icon-zoomin")) { 
    viewLargerImage($target); 
} else if ($target.is("a.ui-icon-refresh")) { 
    recycleImage($item); 
} else if ($target.is("a.fancybox")) { 
    // do nothing and let fancybox to play 
} else { 
    return false; 
} 
}); 
+0

私の投稿とヘルプに返信する時間を取ってくれてありがとう、こんにちは、ありがとう。私はJavascriptには比較的新しいので、私に話をしてください。あなたの提案したコードを試してみました。エラー151を受け取りましたので、行151に '})'を追加しました。私はイメージを削除することはできますが、私は 'fancyBox'を動作させることができません。私はFirefoxでこれを実行しました。エラーは表示されないので、どこにエラーがあるのか​​わかりません。元の投稿のリンクに関連付けられたページを更新して、新しいコードを表示しました。私はあなたがおそらくこれを見て、私がどこに間違っているかを教えてくれるかどうか疑問に思った。親切にしています。 – IRHM

+0

私は 'else if($ target.is(" a。あなたのページ/スクリプトの中で "fancybox")) 'を使用しています。 – JFK

+0

こんにちは@JFK、このことと間違いのための心からのお詫びをお手伝いし続けてくれてありがとうございました。 'fancyBox'機能は動作していますが、残念ながら私は画像を削除できません。 'Error 404 not found'メッセージが表示されます。これをfirefoxで実行しました。エラーの詳細| | | | | | |お問い合わせ – IRHM

関連する問題