2011-12-28 79 views
0

我的javascript:的jQuery的slideToggle不工作

$("#preview-click").click(function() { 
    $("#preview").slideToggle("fast", function() { 
     $("#preview-pdf").html('<iframe style="width: 100%; height: 500px;" src="http://docs.google.com/gview?url=http://www.example.com/pdf/3.pdf&embedded=true" style="width:718px; height:700px;" frameborder="0"></iframe>'); 
    }); 
}); 

我的HTML:

<a id="preview-click" style="cursor: pointer;">preview</a> 
<div id="preview" class="generic-block-70" style="display: none"> 
    <div id="preview-pdf" class="generic-content-70"> 
    </div> 
</div> 

我試圖讓div來滑下,然後改變它的內容。如果iframe已經在div中,並且我只是滑動切換,則該框架無法正確顯示 - 這就是爲什麼只有在div可見後才需要生成內容。

上面的解決方案完全不起作用。點擊鏈接時沒有任何反應。

我也應該注意到,我有一個以上的$(document).ready()

+0

您需要'返回FALSE;'以防止鏈接的默認行爲。 – 2011-12-28 20:37:25

+0

作品,當我把它放入jsfiddle http://jsfiddle.net/CyCC3/ – 2011-12-28 20:37:33

+0

@DaveKiss,'返回false;'在哪裏?在''標籤中? – n0pe 2011-12-28 20:38:50

回答

1

在這裏,這是您使用文檔準備http://jsfiddle.net/CyCC3/

$(document).ready(function() { 

$("#preview-click").click(function() { 
    $("#preview").slideToggle("fast", function() { 
     $("#preview-pdf").html('<iframe style="width: 100%; height: 500px;" src="http://docs.google.com/gview?url=http://www.example.com/pdf/3.pdf&embedded=true" style="width:718px; height:700px;" frameborder="0"></iframe>'); 
    }); 
}); 

}); 
+0

是的,我在那個頁面上有2個'document.ready'。我讀過,有不止一個是正確的,對嗎? – n0pe 2011-12-28 20:41:34

1
$("#preview-click").click(function() { 
    $("#preview").slideToggle("fast", function() { 
     $("#preview-pdf").html('<iframe style="width: 100%; height: 500px;" src="http://docs.google.com/gview?url=http://www.example.com/pdf/3.pdf&embedded=true" style="width:718px; height:700px;" frameborder="0"></iframe>'); 
    }); 
    return false; 
}); 
+0

這不是他的問題的解決方案,不幸的是它沒有返回false,如http://jsfiddle.net/CyCC3/ – 2011-12-28 20:41:15

1
$("#preview-click").click(function() { 
    $("#preview").slideToggle("fast", function() { 
     $("#preview-pdf").html('<iframe style="width: 100%; height: 500px;" src="http://docs.google.com/gview?url=http://www.example.com/pdf/3.pdf&embedded=true" style="width:718px; height:700px;" frameborder="0"></iframe>'); 
    }); 
    return FALSE; 
}); 
1

在我的情況適用於我的JS小提琴罰款, SlideToggle在我的iframe中部分工作,但它留下了空白區域,我仍然找到如何解決這個問題的答案。

我的JS

$(document.myform).ready(function() { 
     $('div.demo:eq(0)> div#headerview').click(function() { 
     $(this).next().slideToggle('20'); 
    }); 
    }); 

我的HTML

<div class="demo"> 
<div id="headerview" style="cursor:pointer;">SlideStarts</div> 
    <table> 
     <tr> 
      <td></td> 
     </tr> 
    </table> 
</div> 

我試圖改變iframe高度時上下滑動,但看起來還是愚蠢。