我正在研究一個Django項目,並嘗試使用jQuery Colorbox來顯示一些內容。colorbox窗口沒有正確調整大小
我是一位經驗豐富的Python開發人員,但對JavaScript還沒有經驗。
我從主Colorbox網頁複製了示例代碼,發現它主要在我的Django頁面中工作。但是,當我點擊我的圖庫項目時,有時候圖片的燈箱太窄。
奇怪的是,我不能發現任何模式,當燈箱太窄,當它的大小正確。似乎無論我點擊列表中的圖像還是點擊燈箱內部的向前或向後箭頭都無關緊要。
這是我的Django模板。我已將jQuery源文件colorbox.css
和colorbox image
目錄放入我的static
目錄中,以便Django迷你服務器可以提供它。
<!DOCTYPE html>
<html>
<head>
<title>My gallery app</title>
{% load static %}
<link rel="stylesheet" href="{% get_static_prefix %}colorbox.css">
<script src="{% get_static_prefix %}jquery.min.js"></script>
<script src="{% get_static_prefix %}jquery.colorbox-min.js"></script>
<script>
jQuery(document).ready(function() {
$('a.gallery').colorbox({
initialHeight:"95%",
initialWidth:"95%",
opacity:1.0,
rel:'group1'
});
});
</script>
</head>
<body>
<div id="header" style="background-color:#33ccff;" width=100%>
<h1 style="margin-bottom:0;"><a href="/">Back to home page</a></h1></div>
<h1>My gallery app</h1>
{% if lst_items %}
<section>
{% for item in lst_items %}
<div>
<a href="/items/{{item.id}}" class="gallery">
<img
border="0"
alt="/items/{{item.id}}"
{% if item.icon %}
src="{{MEDIA_URL}}{{item.icon}}" />
{% else %}
{% load static %}
src="{% get_static_prefix %}no_photo_available.150x150.png" />
{% endif %}
</a>
<a href="/items/{{item.id}}" class="gallery">{{ item.name }}</a>
</div>
{% endfor %}
</section>
{% else %}
<p>Cannot access DB!</p>
{% endif %}
<div style="clear: both">
<br>
<footer>
<p>
<a href="/items/add/">Add a new item</a>
</p>
<p>
<a href="/">Back to the home page</a>
</p></div>
</footer>
</body>
</html>
編輯:我開始認爲它可能與縮略圖鏈接後出現的文本鏈接有關。我絕對沒有正確地做這個部分,因爲colorbox顯示的圖像數是正確數字的兩倍,所以它必須計算具有class="gallery"
屬性的所有東西。我需要編寫更好的HTML來將縮略圖和文本合併成一個「按鈕」,以便colorbox只計算一次。
編輯:我改變了我的代碼,現在它幾乎完美的工作。箱子比我想要的更經常調整大小,但至少它總是以正確的大小結束。
我做了兩件事:一,我固定了我愚蠢的鏈接代碼和兩個,我設置了width
和height
。我有兩個鏈接,一個圖像和一個文本;這很愚蠢,我只是把img
標籤和鏈接文本放在一個<a>
標籤中。我設置width
和height
所以這是我現在的顏色框聲明:
<script>
jQuery(document).ready(function() {
$('a.gallery').colorbox({
onComplete : function() {
$(this).colorbox.resize();
},
height:"95%",
width:"95%",
opacity:0.5,
rel:'group1'
});
});
</script>
所以不是有時是正確的大小,有時過於骨感的,現在的盒子總是增長到95%大小,但隨後重新調整自己關閉完美尺寸。我寧願它順利地去完美的大小,但當我刪除width
和height
屬性,它可以回到有時工作,有時不會。
編輯:不,上述不完全正確。這是完美的垂直尺寸,但比水平寬度要寬。但我現在有一個滿意的答案,我在下面的答案中加以描述。