我想知道是否可以在两个 HTML 文档之间进行渐变。我有一些 HTML 页面,但让我们用其中的两个来做一个例子。
index.html, jobs.html
在两者上我都有一个带<a>
按钮的菜单。我想做的是:
我单击<a href="jobs.html" id="jobs">Jobs</a>
并且index.html
(我目前正在)淡出并jobs.html
淡入。就像在div
s 之间淡入淡出但带有整个 HTML 文档。
非常感谢任何帮助。
我想知道是否可以在两个 HTML 文档之间进行渐变。我有一些 HTML 页面,但让我们用其中的两个来做一个例子。
index.html, jobs.html
在两者上我都有一个带<a>
按钮的菜单。我想做的是:
我单击<a href="jobs.html" id="jobs">Jobs</a>
并且index.html
(我目前正在)淡出并jobs.html
淡入。就像在div
s 之间淡入淡出但带有整个 HTML 文档。
非常感谢任何帮助。
<!DOCTYPE html>
<html>
<head>
<style>
body{
display: none;
}
.myBtn{
cursor: pointer;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script>
$(function(){
$('body').fadeIn();
$('.myBtn').click(function(){
url = $(this).attr('id') + '.html';
$('body').fadeOut(function(){
window.location = url;
});
});
});
</script>
</head>
<body>
<h1>index.html</h1>
<div class="myBtn" id="index">index</div>
<div class="myBtn" id="jobs">jobs</div>
</body>
</html>
PS。显然小提琴不起作用,因为您正在尝试导航到新页面,但是您仍然可以在开始时看到淡入,并在单击按钮时淡出。只需要包含此脚本供所有页面使用。
最重要的是,如果没有某种预加载和与服务器端组件的交互,这是不可能的
我个人会推荐 PJAX。http://pjax.heroku.com/它不仅允许您捕获事件并根据事件加载文档,它还可以更新浏览器状态、url、标题、后退按钮的工作原理等。
使用它来完成类似行为的示例网站 http://bleacherreport.com/articles/1716958-the-top-10-fantasy-qbs-for-2013 http://reciperehab.com/blog/post/the-6-春季最佳沙拉
*免责声明,我做了第二个......
创建您的锚标记并设置一个 javascript onclick 事件。调用你的 fadeOut() 函数(我已经粘贴在下面)你会希望它在你点击时淡出,当下一页加载时,你会希望它淡入:
jsfiddle:http: //jsfiddle.net/HmGap/3/
HTML:
<script type="text/javascript">
window.onload=function(){fadeIn('body')};
</script>
<div id="body">
Content <br /><br />
<a onClick="fadeOut('body')" style="cursor:pointer">Click Me to Fade Out</a>
</div>
Javascript:
//淡入淡出效果
var fade_in_from = 0;
var fade_out_from = 10;
function fadeIn(element){
var target = document.getElementById(element);
target.style.display = "block";
var newSetting = fade_in_from / 10;
target.style.opacity = newSetting;
// opacity ranges from 0 to 1
fade_in_from++;
if(fade_in_from == 10){
target.style.opacity = 1;
clearTimeout(loopTimer);
fade_in_from = 0;
return false;
}
var loopTimer = setTimeout('fadeIn(\''+element+'\')',100);
}
function fadeOut(element){
var target = document.getElementById(element);
var newSetting = fade_out_from / 10;
target.style.opacity = newSetting;
fade_out_from--;
if(fade_out_from == 0){
target.style.opacity = 0;
target.style.display = "none";
clearTimeout(loopTimer);
fade_out_from = 10;
return false;
}
var loopTimer = setTimeout('fadeOut(\''+element+'\')',100);
window.location.href = "link.html";
}
是的,有可能,您可以在 DIV 中附加 html(如您所知),或者您可以使用 iframe 来管理 iframe 标记的淡入淡出