-3

私は小さなスクリプトを持っています:

<script type="text/javascript">
    $(document).ready(function(){
      $('a').click(function (e) {
        e.preventDefault();
        $('#iframe2').show(1000);
        $('#iframe2').attr('src', "http://www.htp-crm.pl/");
        $(this).hide(1000);
      }); 
    });
</script>

およびhtml:

<a href="#" id="1">LINK1</a><br>
<a href="#" id="2">LINK2</a><br>
<a href="#" id="3">LINK3</a><br>
1<iframe id="iframe1" style="display: none;"></iframe><br>
2<iframe id="iframe2" style="display: none;"></iframe><br>
3<iframe id="iframe3" style="display: none;"></iframe><br>

動的関数でこれを行うにはどうすればよいですか? 常に同じです: link with id=1 show iframe1 link with id=2 show iframe2 ... link with id=27 show iframe27


私はこれを使用します:

<script type="text/javascript">
    $(document).ready(function(){
        $('a').click(function (e) {
            var linkId=$(this).attr('class');
            e.preventDefault();
            $('.show_km_'+linkId).show(1000);
            $('.show_km_'+linkId).attr('src', "calendar_files/index-km.php?id='.$row['iid'].'");
            $(this).hide(1000);
        }); 
    });
</script>

このスクリプトを使用して、私と選択した住所との間の Google 距離を表示します。iframe に「display: none」がある場合、位置情報の許可について質問があるのはなぜですか? リンクをクリックしてiframeを表示した後に質問が来るのではないかと思いました:(ここで何か変更できますか?

// OK、Google マップ スクリプトを修復します :)。スクリプトを変更する方法を教えてくれてありがとう。よろしくお願いします!

4

3 に答える 3

0

dataこのように、アンカーとiframeの間のリンクを参照するために使用することをお勧めします...

<a href="#" data-iframe="iframe1">LINK1</a><br>
<a href="#" data-iframe="iframe2">LINK2</a><br>
<a href="#" data-iframe="iframe3">LINK3</a><br>
1<iframe id="iframe1" style="display: none;"></iframe><br>
2<iframe id="iframe2" style="display: none;"></iframe><br>
3<iframe id="iframe3" style="display: none;"></iframe><br>

click次に、このようにハンドラーでデータを参照できます...

<script type="text/javascript">
    $(document).ready(function(){
        $("a").on("click", function (e) {
            e.preventDefault();
            var $iframe = $("#" + $(this).data("iframe"));
            $iframe.show(1000);
            $iframe.attr("src", "http://www.htp-crm.pl/");
            $(this).hide(1000);
        }); 
    });
</script>

また、ID に数字を使用しないことをお勧めします。それが何であるかについて何も教えてくれないので、読むのが友好的ではないという事実は別として、一部のブラウザはそれを好まない.

于 2013-04-23T11:14:59.000 に答える
0

これを試して....

<script type="text/javascript">
    $(document).ready(function(){
        $('a').click(function (e) {
            var linkId=$(this).attr('id');
            e.preventDefault();
            $('#iframe'+linkId).show(1000);
            $('#iframe'+linkId).attr('src', "http://www.htp-crm.pl/");
            $(this).hide(1000);
        }); 
    });
</script>
于 2013-04-23T11:12:27.847 に答える
0

アンカーを反復処理して を取得し、それを表示する iframe にid割り当てることができます。id

$('a').click(function(e) {
    e.preventDefault();
    var id = $(this).attr('id');
    $('iframe#' + id).show();
})
于 2013-04-23T11:13:11.563 に答える