0

この CSS3 を利用したアコーディオンの jQuery フォールバックを開発しています。

しかし、テストしたところ、iOS5 以下または IE8 ~ IE6 では動作しないことがわかりました。つまり、アコーディオンのパネル/スライドが開かない/スライドダウンします。

私は jQuery フォーラムで何人かの人々に尋ねましたが、彼らはなぜそれが機能しないのか困惑しています。IE と iOS がサポートしていない jQuery で :animated を使用していることが原因である可能性があると 1 人が言いました。しかし、その人はそれなしで私のコードを書き直す代替方法を持っていませんでした。

私が達成しようとしているのは、入力(チェックボックス)がチェックされている/ラベルがクリックされているときにslideDownに対応するものを取得し、入力がチェックされていない/ラベルが再度クリックされたときにslideUpを取得することです。

IE と iOS で動作するようにコードを修正するのを手伝ってもらえますか?

すべての助けを心から感謝します。

前もって感謝します!

編集: HTML5 マークアップを使用した jQuery ソリューションを探しています。

4

1 に答える 1

0

私はそれが派手な CSS3 であることは知っていますが、それを実現するために必要な、非常に恐ろしい非意味論的マークアップが必要な場合は、私は気にしません。4 行の jquery で完了です。

マークアップ:

<dl class="menu">
    <dt><a href="#">About Us</a></dt>
    <dd>
        <p>Well, the way they make shows is, they make one show. That show's called a pilot. Then they show that show to the people who make shows, and on the strength of that one show they decide if they're going to make more shows.</p>
    </dd>
    <dt><a href="#">How We Work</a></dt>
    <dd>
        <p>Like you, I used to think the world was this great place where everybody lived by the same standards I did, then some kid with a nail showed me I was living in his world, a world where chaos rules not order, a world where righteousness is not rewarded. That's Cesar's world, and if you're not willing to play by his rules, then you're gonna have to pay the price.</p>
    </dd>
    <dt><a href="#">References</a></dt>
    <dd>
        <p>You think water moves fast? You should see ice. It moves like it has a mind. Like it knows it killed the world once and got a taste for murder. After the avalanche, it took us a week to climb out. Now, I don't know exactly when we turned on each other, but I know that seven of us survived the slide... and only five made it out. Now we took an oath, that I'm breaking now. We said we'd say it was the snow that killed the other two, but it wasn't. Nature is lethal but it doesn't hold a candle to man. </p>
    </dd>
    <dt><a href="#">Contact Us</a></dt>
    <dd>
        <p>You see? It's curious. Ted did figure it out - time travel. And when we get back, we gonna tell everyone. How it's possible, how it's done, what the dangers are. But then why fifty years in the future when the spacecraft encounters a black hole does the computer call it an 'unknown entry event'? Why don't they know? If they don't know, that means we never told anyone. And if we never told anyone it means we never made it back. Hence we die down here. Just as a matter of deductive logic.</p>
    </dd>
</dl>​

jQuery:

$('.menu > dt > a').click(function(e) {
    e.preventDefault();
    $(this).parent().next('dd').slideToggle();
});

これがフィドルです。

おそらくそれをマークアップに適応させることができますが、神よ、なぜそうするのでしょうか?

于 2012-10-24T15:51:24.070 に答える