页面加载后立即再次加载页面
Load page again immediately after page load
本文关键字:加载 更新时间:2023-09-26
我是JS
的新手,我的网页出现了一个非常奇怪的问题。在页面的某些部分,有一些图像的鼠标上有zoon-in effect
,上面写着jQuery
。问题是,为了查看zoom-in effect
,您需要再次加载页面。它不会在第一次加载页面时显示。
现在,<script>
标签和指向jQuery
库的引用链接位于页面的按钮(</body>
标签下方)。如果我把它们移到页面顶部,zoom-in effect
根本不起作用。
有人知道如何解决这个问题吗?是什么原因导致的?如果没有,有没有办法立即再次加载页面?我知道这不是一种优雅的方式,但如果我没有其他解决方案,那就是我要做的
感谢
JQuery
(function ($) {
$.fn.extend({
hoverZoom: function (settings) {
var defaults = {
overlay: true,
overlayColor: '#343434',
overlayOpacity: 0.7,
zoom: 25,
speed: 300
};
var settings = $.extend(defaults, settings);
return this.each(function () {
var s = settings;
var hz = $(this);
var image = $('img', hz);
image.load(function () {
if (s.overlay === true) {
$(this).parent().append('<div class="zoomOverlay" />');
$(this).parent().find('.zoomOverlay').css({
opacity: 0,
display: 'block',
backgroundColor: s.overlayColor
});
}
var width = $(this).width();
var height = $(this).height();
$(this).fadeIn(1000, function () {
$(this).parent().css('background-image', 'none');
hz.hover(function () {
$('img', this).stop().animate({
height: height + s.zoom,
marginLeft: -(s.zoom),
marginTop: -(s.zoom)
}, s.speed);
if (s.overlay === true) {
$(this).parent().find('.zoomOverlay').stop().animate({
opacity: s.overlayOpacity
}, s.speed);
}
}, function () {
$('img', this).stop().animate({
height: height,
marginLeft: 0,
marginTop: 0
}, s.speed);
if (s.overlay === true) {
$(this).parent().find('.zoomOverlay').stop().animate({
opacity: 0
}, s.speed);
}
});
});
});
});
}
});
})(jQuery);
HTML:
<div class="portItemContainer">
<div class="portItem">
<a href="Portfolio/index.html" target="_blank" class="zoom grey"><img src="Images/meals.png" alt="" /></a>
<h5>Meals APP</h5>
<h6>FRONTEND / UX / CREATIVE</h6>
<a href="Portfolio/index.html" target="_blank">Visit The Website</a>
<p>
some text
</p>
</div>
CSS:
.zoom {
width:230px;
height:148px;
position:relative;
overflow:hidden;
border:1px solid #959595;
background: #fff url(../Images/loader.gif) no-repeat center;
}
.zoom img { display:none }
.zoomOverlay {
position:absolute;
top:0; left:0;
bottom:0; right:0;
display:none;
background-image:url(../Images/zoom.png);
background-repeat:no-repeat;
background-position:center;
}
修复该问题比刷新页面更好,但是,为了回答您的问题,您可以使用GET参数刷新页面一次。
var reloadKey = 'rl001';
var url = window.location.href;
testForReload();
function testForReload() {
if (url.indexOf('?') < 0) {
reloadPage();
return false;
}
var getParams = url.substr(url.lastIndexOf('?') + 1);
if (getParams.indexOf(reloadKey) < 0) {
reloadPage();
}
}
function reloadPage() {
var q = (url.indexOf('?') < 0) ? '?' : '&';
window.location = url + q + reloadKey;
}
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 跟踪在页面加载时应用内联样式的JavaScript
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- jQuery Lazy加载动画滚动
- Html页面上的多个Base64图像和平滑加载
- 如何创建带有插槽的vue js组件预加载程序
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 如何使该数据在所有元素中加载
- Chrome扩展没有't在重新加载之前考虑期权价值
- 使用javascript在Flash中加载外部图像
- Ajax文件加载和<输入>文件加载
- 使用javascript函数在页面初始化后加载jquery
- 如何防止网页加载后自动启动功能