0

私はスタック オーバーフローから多くの助けを受けて、このページをその機能を備えた場所に配置しました。私は jQuery の専門家ではありません。作業例:

http://www.metropoliscreative.com/jake_test/test1.html

Galleriffic (動的ギャラリー jQuery プラグ) と Quicksand (jQuery フィルタリング プラグ) を使用しています。

サムネイルをクリックすると、大きなペインに正しく読み込まれます。プロジェクトの種類または業種を選択すると、データの種類に基づいてサムネイルが並べ替えられます。

ただし、問題は、それらを並べ替えると、Galleriffic 機能が動作しなくなることです。したがって、これを修正するために、流砂の初期化内に別のギャラリフ呼び出しをラップしました。そのため、流砂が完了すると、ガレリフがリセットされます。

ただし、この時点で Galleriffic からエラーが発生しており、その理由がわかりません。ページが読み込まれたときに呼び出されるのとまったく同じ方法で呼び出しており、そのときに機能します。

4

2 に答える 2

2

あなたのページのソースを見たところ、295 行目 (問題ゾーンの直前) に「d」がありませんでした。おそらくそれが理由で、コードが実行されません。

于 2011-01-25T18:41:26.820 に答える
0

.galleriffic()2 回目の呼び出しが原因で、エラーがスローされているようです。私が得るエラーはですCannot convert 'imageData' to object。これは、(たとえば) Project Type -> Brochure Packages に切り替えるとgallerific、データ属性に基づいて現在のイメージ ID を 0 に設定しようとするためと思われます。ただし、quicksandデータ配列を台無しgallerificにして、2 番目の呼び出しで要素 (別名、画像) が表示されないように見えます。quicksandおそらく、画像を適切に削除/追加していないため、問題が発生していると思います。この例を見ると、画像を削除するコードは次のようになります。

$('#removeImageByIndexLink').click(function(e) {
    if (!gallery.removeImageByIndex(5))
        alert('There is no longer an image at position 5 to remove!');

    e.preventDefault();
});

ただし、それは画像を取り除くためquicksandだけに使用されているようです。.remove()今、私は のコードを調べたところ、によって呼び出されたときに更新されない、使用する画像に関する情報のキャッシュが保持さremoveImageByIndex()れているようです。gallerific.remove()quicksand

tldr; Quicksand は画像を誤って削除し、gallerific は変更に更新されません。

修正方法は?まあ、1 つのオプションは、流砂スクリプトの削除部分と追加部分を試して書き直して、gallerific を認識できるようにすることです。もう 1 つは、流砂の削除部分を削除するのではなく、HIDE 要素のみに書き直すことです (つまりdisplay:none;、 の代わりに設定します.remove())。

これが役立つことを願っています。それが私が思いつくことができるすべてです。

于 2011-01-25T19:28:14.633 に答える