Bạn có thể bắt đầu bằng cách làm mờ hình ảnh đầu tiên, kiểm soát thời lượng của fadeout bằng thông số tùy chọn đầu tiên. Sau khi mờ dần hoàn tất, cuộc gọi lại ẩn danh sẽ kích hoạt và nguồn của hình ảnh được thay thế bằng hình ảnh mới. Sau đó, chúng tôi phai nhạt trong hình ảnh sử dụng một giá trị thời gian, tính bằng mili giây:
Original HTML:
<img src="one.png" id="one" />
JavaScript:
$('#one').hover(function() {
// increase the 500 to larger values to lengthen the duration of the fadeout
// and/or fadein
$('#one').fadeOut(500, function() {
$('#one').attr("src","/newImage.png");
$('#one').fadeIn(500);
});
});
Cuối cùng, sử dụng jQuery, nó nhiều, dễ dàng hơn để liên kết các sự kiện JavaScript động, mà không sử dụng bất kỳ thuộc tính JavaScript nào trên chính HTML. Tôi đã sửa đổi thẻ img
gốc sao cho thẻ chỉ có thuộc tính src
và id
.
Sự kiện jQuery hover sẽ đảm bảo rằng chức năng sẽ kích hoạt khi người dùng di chuột qua hình ảnh bằng chuột.
Để đọc thêm, hãy xem jQuery fadeOut và jQuery fadeIn.
vấn đề có thể xảy ra với thời gian tải ảnh:
Nếu đây là lần đầu tiên người dùng đã quét qua một hình ảnh và thực hiện một yêu cầu cho nó, có thể có một trục trặc nhỏ trong fadeIn thực tế, kể từ khi có sẽ là độ trễ từ máy chủ trong khi yêu cầu newImage.png. Giải pháp cho việc này là tải trước hình ảnh này. Có một số tài nguyên trên StackOverflow on preloading images.
làm việc này, cảm ơn bạn – zafrani
Bạn được chào đón! Tôi rất vui khi được giúp đỡ. – jmort253