【发布时间】:2015-09-29 17:06:47
【问题描述】:
这里是Javascript新手。我正在处理此处提供的一段代码 - http://codepen.io/mariusbalaj/pen/beALH/
我正在尝试修改行为,以便在单击时不仅放大列表元素,还应该在动画框架内加载不同的 html 页面。
$(document).ready(function() {
var $box = $('.box');
$('.metro li').each(function() {
var color = $(this).css('backgroundColor');
var content = $(this).html();
$(this).click(function() {
$box.css('backgroundColor', color);
$box.addClass('open');
$box.find('p').html(content);
});
$('.close').click(function() {
$box.removeClass('open');
$box.css('backgroundColor', 'transparent');
});
});
});
谁能指出我正确的方向?
更新 1: 我发现修改下一行的“内容”变量会改变动画帧的内容:
` $box.find('p').html(content);`
如果我将其更改为:
` $box.find('p').html('<h1>Test Page</h1>');`
它按预期工作。但是,我希望每个列表元素的内容都不同。 有没有一种简单的方法可以为每个元素执行此操作?我对“this”关键字感到很困惑。
【问题讨论】:
-
您可以使用 ajax 加载您的内容。
-
您的意思是要在动画之后加载不同的页面吗?
-
对不起,应该说得更清楚。我希望在动画框架内加载新页面。
标签: javascript jquery html css list