我試圖做一個效果,當鼠標懸停在圖像上時,它會增大其大小的50%,並在鼠標移出其區域後立即返回。可以用jQuery來做到這一點嗎?怎麼樣?有沒有可能做到這一點沒有jQuery?在沒有jQuery的情況下做這件事有多難?Jquery onmouseover圖像大小增加
回答
在這裏你去:
$('img').load(function() {
$(this).data('height', this.height);
}).bind('mouseenter mouseleave', function(e) {
$(this).stop().animate({
height: $(this).data('height') * (e.type === 'mouseenter' ? 1.5 : 1)
});
});
這是可能使用jQuery,這是一個的JavaScript庫等alors要做到這一點:你也可以使用普通的JavaScript。
的jQuery:
var $image = $('#imageID'), //Or some other selector
imgWidth = $image.width(),
imgHeight = $image.height();
$('#imageID').hover(function() {
//The mouseover
$(this).width(imgWidth * 2);
$(this).height(imgHeight * 2);
}, function() {
$(this).width(imgWidth);
$(this).height(imgHeight);
});
普通的JavaScript:
見這裏的例子:http://jsfiddle.net/axpVw/
var image = document.getElementById('imageID'),
imageWidth = image.width,
imageHeight = image.height;
image.onmouseover = function() {
image.width = 2 * imageWidth;
image.height = 2 * imageHeight;
}
image.onmouseout = function() {
image.width = imageWidth;
image.height = imageHeight;
}
@ŠimeVidas爲jQuery提供了一個更清晰的例子 - 真的會推薦動畫屬性。 – dianovich 2011-03-18 21:08:07
您可以使用純CSS做到這一點。這是一個running sample。
鑑於這種HTML:
<img class="foo" src="/img/logo.png">
添加這個CSS:
body { background-color: black }
.foo {
height:25px;
}
.foo:hover {
height:50px;
}
使用jQuery,如果你的目標瀏覽器的一個不支持CSS體面,但我在IE8測試,它支持這個。
您正在將高度值硬編碼到CSS中。如果圖像具有不同的尺寸怎麼辦? – 2011-03-18 21:11:11
你必須做一個按圖像的CSS樣式。如果你有圖像的話,這將是一個使用jquery的好地方。 – JoshRivers 2011-03-18 22:23:34
好主意:)我想upvote你的答案,但沒有足夠的代表。 – Vish 2011-03-20 18:33:45
這兩種方式都是一件容易的事。我對你的小提琴在這兩個方面的例子:
jQuery的:http://jsfiddle.net/G7yTU/
$(document).ready(function(){ var ht= $("img").height(), wd=$("img").width(), mult=1.5; //change to the no. of times you want to increase your image //size. $("img").on('mouseenter', function(){ $(this).animate({height: ht*mult, width: wd*mult}, 500); }); $("img").on('mouseleave', function(){ $(this).animate({height: ht, width: wd}, 500); }) });
CSS:http://jsfiddle.net/zahAB/1/
img{ -webkit-transition:all 0.5s; -moz-transition:all 0.5s; -ms-transition:all 0.5s; -o-transition:all 0.5s; } img:hover{ width:150px; height:150px; }
如果您需要任何幫助,請聯繫。
哪種方法更好? – Vish 2014-02-08 05:57:03
我會說使用Jquery,因爲它將被全球支持,並且可以根據您的需要輕鬆編輯它。恩。如果你想讓圖像擴大300%,只需將變量更改爲3並完成工作即可。 – 2014-02-08 06:23:07
- 1. 增加點擊圖像的大小JQuery
- 2. 增加圖像大小
- 3. 當我增加圖像大小時td大小不會增加
- 4. 增加圖像縮略圖的大小
- 5. 加密後圖像大小增加
- 6. 加載後圖像大小增加
- 7. onmouseover和onmouseout來調整圖像大小
- 8. 懸停CSS或JQuery圖像庫增加圖像大小和減小大小,並重新排列其他圖像
- 9. 增加圖像的大小ImageView的
- 10. openCV cvSaveImage()增加圖像的大小
- 11. 增加/減少圖像大小,網站
- 12. 防止PIL增加圖像的大小
- 13. 旋轉圖像增加其大小?
- 14. 你如何增加圖像的大小?
- 15. 縮小PNG圖像會增加圖像大小
- 16. jQuery腳本,動畫()增加圖像的大小
- 17. iPhone - 增加UIImageView的大小,並保持圖像大小固定
- 18. 從dvipng提高圖像質量而不增加圖像大小?
- 19. 混合2圖像並增加新一代圖像的大小
- 20. Android:xml圖像縮放不足以增加圖像大小
- 21. 增加大小
- 22. 增加大小
- 23. 增加大小
- 24. Jpeg太小:如何增加圖像的大小
- 25. 如何根據手機屏幕大小增加位圖圖像大小?
- 26. Jfree圖表中增加圖例大小
- 27. Onmouseover加上大小的變化
- 28. 當java程序添加文本時圖像大小增加
- 29. IE9 jQuery圖像大小?
- 30. jquery masonry圖像大小
沒有jQuery會有多難? **不必要**很難。 – 2011-03-18 20:55:23
在我的例子中,你可能會認爲沒有太大的區別。但是如果你想使用不同的選擇器(即不是ID)來獲取圖像,那麼怎麼樣?如果你想動畫過渡(jQuery可以輕鬆實現這一點),那該怎麼辦?而且,使用jQuery,您不必擔心跨瀏覽器兼容性會接近相同的程度。 – dianovich 2011-03-18 21:04:39