使用JS,Jquery,Bootstrap 3.我沒有創建多個單獨觸發的模塊,而是編寫了一個腳本來填充基於正在嵌入的內容的模式,然後使用嵌入的內容填充模塊。我的JS if語句有什麼問題嗎?
莫代爾標記:
<div class="modal fade" id="ideasmodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header"><button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span>
<span class="sr-only">Close</span></button>
<h4 class="modal-title" id="myModalLabel"></h4>
</div>
<div class="modal-body" id="library-content"></div>
</div>
</div>
</div>
觸發器:
<a data-frame="http://path.to.url" data-content="embed" class="btn btn-primary modaltrigger" role="button">Learn More</a>
<a data-frame="http://path/to/image.png" data-content="image" class="btn btn-primary modaltrigger" role="button">Learn More</a>
JS
$(document).ready(function(){
$(".modaltrigger").click(function(){
var dataContent = this.getAttribute("data-content");
if (dataContent = "embed") {
var modalClass = 'embed-responsive embed-responsive-16by9';
var modalContent = this.getAttribute("data-frame");
var modalBody = document.createElement("IFRAME");
var embedContainer = document.createElement("DIV");
embedContainer.setAttribute("class", modalClass);
modalBody.setAttribute("src", modalContent)
modalBody.setAttribute("class", "embed-responsive-item");
modalBody.setAttribute("frameborder", "0");
document.getElementById("library-content").appendChild(embedContainer);
embedContainer.appendChild(modalBody);
$('#ideasmodal').modal('show');
}
else if (dataContent = "image") {
var modalContent = this.getAttribute("data-frame");
var modalBody = document.createElement("IMG");
modalBody.setAttribute("src", modalContent);
modalBody.setAttribute("class", "img-responsive");
document.getElementById("library-content").appendChild(modalBody);
$('#ideasmodal').modal('show');
}
});
$(".close").click(function(){
document.getElementById("library-content").innerHTML= "";
});
});
所以發生了什麼活動網站上,當我點擊與數據內容的鏈接=「image」,該網站仍在生成iframe,而不是直接嵌入if語句的圖像(ELSE)。這不是什麼大問題,除非我不想限制在bootstrap響應式嵌入類定義的比例 - 我的圖像並不總是適合4:3或16:9的比例。
我對JS很新,很抱歉,如果我失去了一些非常明顯的東西。我已經用控制檯/調試器運行了這個,除了toString不允許(我從這個網站的搜索中可以看到現在忽略它,因爲它是一個Flash問題)我沒有得到任何錯誤。
當進行比較時'='應該是'==='......'='將設置變量 – smerny 2014-10-08 20:37:20
考慮使用像http://jshint.com這樣的工具來幫助您找到常見錯誤。 – 2014-10-08 20:43:05
我從來沒有見過這個網站。謝謝!它獲取了書籤 – user3366357 2014-10-08 20:50:02