【发布时间】:2012-11-02 21:06:03
【问题描述】:
我在一个网站上工作,http://teneo.telegraphbranding.com/,我希望通过 ajax 加载页面,以便侧边栏及其动画保持一致。
单击“关于”链接时,我需要它通过 jquery ajax 函数加载 about2.php。但我没有任何运气。当我可以通过 ajax 加载页面时,它会杀死页面上的所有 jquery 功能。从我读过的内容来看,我认为我需要在成功完成 ajax 调用后调用 jquery。
我已经尝试了所有看起来的方法,但无法正常工作。我需要的是 about2.php 在单击链接时加载,并且 jquery 可以动态调整 div 的大小,就像在主页上一样。 我试过这个,但它甚至不会加载页面:
//Dropdown
$(document).ready(function () {
var dropDown = $('.dropdown');
$('h3.about').on('click', function() {
dropDown.slideDown('fast', function() {
var url = 'about2.php'
$.get(url, function(data) {
//anything in this block runs after the ajax call
var missionWrap = $('#mission-wrap');
var w = $(window);
w.on('load resize',function() {
missionWrap.css({ width:w.width(), height:w.height()});
});
var missionContent = $('#mission-content');
var w = $(window);
w.on('load resize',function() {
missionContent.css({ width:w.width() - 205 });
});
});
});
});
});
然后这会加载页面,但会杀死所有与之关联的 jQuery:
var dropDown = $('.dropdown');
$('h3.about').on('click', function() {
dropDown.slideDown('fast', function() {
$('#index-wrap').load('/about2.php');
});
});
非常感谢。
我也试过这个,但它破坏了一切:
$(document).ready(function () {
var dropDown = $('.dropdown');
$('h3.about').on('click', function () {
dropDown.slideDown('fast', function () {
$.ajax({
type: 'GET',
url: 'about2.php',
success: function () {
var missionWrap = $('#mission-wrap');
var w = $(window);
w.on('load resize', function () {
missionWrap.css({
width: w.width(),
height: w.height()
});
});
var missionContent = $('#mission-content');
var w = $(window);
w.on('load resize', function () {
missionContent.css({
width: w.width() - 205
});
});
};
});
});
});
});
【问题讨论】:
-
以一种可用的方式正确地做一个单页应用程序是很多工作。你确定动画侧边栏值得费心吗?
-
是的。我以前做过单页网站,所以我很熟悉它 - chiaroscurofnd.org。让我失望的只是 ajax。
-
该页面上的神秘肉链接画是否应该以诱发癫痫的方式闪烁,直到子页面完成加载?该网站的子页面也不能加入书签。
-
考虑改写你的标题,因为它完全没有任何意义。
-
@lanzz 对不起,我更正了。