我正在开发网站,我需要使用 ajax 更改页面。每个页面都有不同的 javascript 和 css。我在加载 ajax 内容时调用 javascript 做错了。此外,当加载 ajax 内容但无法加载原始脚本时,我成功调用了警报框。这是我的代码的一些片段,index.html 页面脚本
<script type="text/javascript">
function marmi(){
jQuery(document).ready(function(){
//resizeDiv();
});
window.onload = function(event) {
resizeDiv();
}
function resizeDiv() {
vph = jQuery(window).height();
mamu = (jQuery(window).height() - 277);
jQuery('#mam').css({'height': mamu + 'px'});
}
}
</script>
这是用于 ajax 请注意我已经尝试过使用 jQuery("#about").on("click", function(){ .. } 这个但没有成功
<script>
jQuery.ajaxSetup ({
cache: false
});
jQuery("#about").click(function(){
marmi();
});
jQuery('#about').trigger('click');
jQuery("#architecture").click(function(){
function myFunction(){
jQuery.globalEval(alert("Hello\nContact"))
}
myFunction();
});
</script>
这是加载 url 和 ajax 内容的主要 ajax 脚本
jQuery(document).ready(function() {
var hash = window.location.hash.substr(1);
var href = jQuery('.aj_me').each(function() {
var href = jQuery(this).attr('href');
if (hash == href.substr(0, href.length - 5)) {
var toLoad = hash + '.html #ajax';
jQuery('#ajax').load(toLoad)
}
});
jQuery('a.aj_me').click(function() {
var toLoad = jQuery(this).attr('href') + ' #ajax';
jQuery('#ajax').hide('normal', loadContent);
window.location.hash = jQuery(this).attr('href').substr(0, jQuery(this).attr('href').length - 5);
function loadContent() {
jQuery('#ajax').load(toLoad, '', showNewContent())
}
function showNewContent() {
jQuery('#ajax').show('normal');
}
return false;
});
});
我正在这个 div 中加载 ajax 内容
<div id="ajax">
</div>
所有单独的页面都可以在没有 ajax 的情况下正确加载。请有人帮助确定问题
感谢更新了修改后的 ajax 脚本
jQuery(document).ready(function() {
var hash = window.location.hash.substr(1);
var href = jQuery('.aj_me').each(function() {
var href = jQuery(this).attr('href');
console.log("href is:",href);
if (hash == href.substr(0, href.length - 5)) {
var toLoad = hash + '.html #ajax';
console.log("Going to load url:",toLoad);
jQuery('#ajax').load(toLoad)
}
});
jQuery('a.aj_me').click(function() {
var toLoad = jQuery(this).attr('href') + ' #ajax';
jQuery('#ajax').hide('normal', loadContent);
window.location.hash = jQuery(this).attr('href').substr(0, jQuery(this).attr('href').length - 5);
function loadContent() {
jQuery('#ajax').load(toLoad, '', showNewContent)
}
function showNewContent() {
jQuery('#ajax').show('normal');
marmi();
}
return false;
});
});
控制台输出
href is: index.html
href is: about.html
href is: contact.html
href is: index.html
href is: about.html
href is: contact.html
修改 index.html 页面脚本
<script type="text/javascript">
function successCallback() {
function marmi(){
jQuery(document).ready(function(){
resizeDiv();
});
window.onload = function(event) {
resizeDiv();
}
function resizeDiv() {
vph = jQuery(window).height();
mamu = (jQuery(window).height() - 277);
jQuery('#mam').css({'height': mamu + 'px'});
}
}
}
function completeCallback() {
jQuery(document).ready(function(){
resizeDiv();
});
window.onload = function(event) {
resizeDiv();
}
function resizeDiv() {
vph = jQuery(window).height();
mamu = (jQuery(window).height() - 277);
jQuery('#mam').css({'height': mamu + 'px'});
}
alert('comleted');
}
function errorCallback() {
alert('error');
}
jQuery.ajax({
url:"index.html",
success:successCallback,
complete:completeCallback,
error:errorCallback
});
</script>