- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在这个网站上阅读一些关于如何进行上一个/下一个导航的文章,但我似乎找不到一篇可以很好地使用我的代码设置方式的文章。有很多东西要吸收,如果您想查看实时站点以供引用,请单击 here .
HTML
<div id="arrow-nav" class="container-full clearfix">
<div class="container">
<a class="prev sm-title" href="#"><i class="fa fa-long-arrow-left"></i> Previous Project<span>Project Title</span></a>
<a class="next sm-title" href="#"><span>Project Title</span>Next Story <i class="fa fa-long-arrow-right"></i></a>
</div>
</div><!--end arrow nav-->
<div id="portfolio">
<div class="portfolio-container group">
<div class="articles">
<article class="mix web col-6" data-myorder="1">
<div class="holder">
<a href="" data-type="projectLoader" data-project="project-1" id="project_1"><span class="image_holder grow" style="background-image:url('images/file-thumb.jpg')"></span></a>
<p class="description" data-type="projectLoader" data-project="project-1"><span>Project Name</span><br>Check out this project!</p>
</div>
</article>
<article class="mix web col-6" data-myorder="2">
<div class="holder">
<a href="" data-type="projectLoader" data-project="project-2" id="project_2"><span class="image_holder grow" style="background-image:url('images/file-thumb.jpg')"></span></a>
<p class="description" data-type="projectLoader" data-project="project-2"><span>Project Name</span><br>Check out this project!</p>
</div>
</article>
</div>
</div>
</div>
Javascript这就是我为每个元素创建内容的方式:
var projects = {
'project-1' : {
'title' : 'Project Name',
'description' : 'Lorem Ipsum',
'images': [
'/images/path/file-1.jpg'
],
'tags': [
'Lorem Ipsum 1',
'Lorem Ipsum 2'
]
},
'project-2' : {
'title' : 'Project Name',
'description' : 'Lorem Ipsum',
'images': [
'/images/path/file-1.jpg'
],
'tags': [
'Lorem Ipsum 1',
'Lorem Ipsum 2'
]
}
}
这是我如何提取数据并将其输出到 div 中的示例:
$('#project-title').html(projectData.title);
$('#project-description').html(projectData.description);
我就是这样得到 #arrow-nav
的出现:
$('[data-type="projectLoader"]').click(function() {
var proj = $(this)[0].getAttribute('data-project');
$('#arrow-nav').addClass('slideIn');
updateHash(proj);
return false;
});
$('[data-type="projectDie"]').click(function() {
$('body').removeClass('projectLoaded');
$('#arrow-nav').removeClass('slideIn');
return false;
});
$( 'document' ).ready(function() {
if ($('body').hasClass('projectLoaded')) {
$('#arrow-nav').addClass('slideIn');
} else {
$('#arrow-nav').removeClass('slideIn');
}
});
要接受的代码很多。基本上我想要实现的是,当我将鼠标悬停在 Previous 或 Next 上时,我有一个 <span>
我想保留上一个或下一个元素名称。 Prev/Next 要么采用 data-myorder="x";
或从 var projects
获取上一个/下一个元素.
点击元素时的交互,这是让它向上滑动的css:
#project {
position:fixed;
left:0;
width:100%;
height:100%;
opacity:0;
top:100%;
background: #efefed;
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
-ms-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
transition-duration: 0.3s;
transition-timing-function: ease-out;
-webkit-transition-timing-function: ease-out;
}
body.projectLoaded {
overflow: hidden;
}
body.projectLoaded #project {
opacity:1;
top:0;
}
如果当我点击 Previous 按钮时它从左边开始:100%;向左:0,反之亦然,但如果它必须保持不变,我可以接受。我尝试查看一些示例,看看它是否足够简单,可以交换一些东西,我尝试了一些代码示例,但我不知道我在做什么,所以我懒得在这里发布任何代码,已经有很多了。要直观了解我要实现的目标,请单击 here然后点击一个元素。
最佳答案
如果你只想让东西从左向右滑动,这取决于你前进的方向,你需要三个独立的状态:左/右/事件
您可以创建一个 div 来保存您的下一个/上一个状态,这样您就可以在事件状态滑开时将它们滑入。
在任何幻灯片之前,您更新来自幻灯片的信息。
您知道哪个元素处于事件状态,因此您知道从那里去哪里。
我会将您的 JS 对象更改为:
var projects = [
{
'id': 1,
'title' : 'Project Name',
'description' : 'Lorem Ipsum',
'images': [
'/images/path/file-1.jpg'
],
'tags': [
'Lorem Ipsum 1',
'Lorem Ipsum 2'
]
},
{
'id': 2,
'title' : 'Project Name',
'description' : 'Lorem Ipsum',
'images': [
'/images/path/file-1.jpg'
],
'tags': [
'Lorem Ipsum 1',
'Lorem Ipsum 2'
]
}
];
console.log(projects[0].tags); // ["Lorem Ipsum 1", "Lorem Ipsum 2"]
现在您可以使用数组的索引或 ID。
这里的动画是 Fiddle
编辑: This Fiddle更好地说明了我的观点
关于javascript - 无法弄清楚使 Prev/Next 按钮工作所必需的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37311541/
我一直在试图理解人们一直在使用的这个网格系统。有时让我觉得自己很蠢。 我了解如果您使用无边距的 12 网格系统。第 12 列将是 100%,而第 1 列将约为 8.33333%。 我一直在看一些网格系
我们被分配了一个用于系统编程的 ASCII 压缩项目,但我在代码中的某一特定行上遇到了困难。 我问了question关于压缩,在处理完纸上示例文件的前十几个字母后,我将数组代码调整到了我的程序中。在
我正在使用 Appcelerator 框架编写应用程序,但偶尔会发生崩溃。我正在尝试找出导致崩溃的原因,因此我决定查看 iOS 模拟器崩溃报告。当然,这对我来说都是希腊语,但我希望得到一些指导,了解其
有人可以给我一些指导或指导我阅读有关 C++ set 对象的优秀教程吗? 我有一段这样的简单代码: #include using namespace std; int main() { ch
老实说,我不知道我的问题是否有解决方案,但我想在 Swift 中捕捉上下文切换发生的时间。 我正在想象一个需要很长时间才能完成的功能,例如远程服务器上的写操作,我在想是否有办法了解何时(至少在哪一行)
我正在使用 Yii2 并且一直在阅读 theming和 theme inheritance ;但是有一些问题: 考虑以下示例: 'view' => [ 'theme' => [
我尝试使用 AJAX 发布,因为我不想使用提交按钮并在每次单击它时重新加载页面。我正在使用此代码进行 ajax: Ajax loading error, please try again.").sho
我正在尝试找出将在 NodeJS 应用程序中使用的 MongoDB 模型的理想设计。该应用程序的设置类似于调查,某些步骤会根据之前的选择提供选项。这是选择和可能性的示例。 第 1 级:图案类型:纯色、
我有一个 API/Express 路由器: router.post("/signup", async function (req, res) { try { var user
我注意到 JFileChooser 隐藏了 Windows 系统文件。 hiberfil.sys、pagefile.sys、$Recycle.Bin 等文件、一些无法打开的快捷方式文件夹等... 我可
这是我第一次使用 Django,到目前为止,我对这个框架的工作方式印象深刻。我目前正在开发我的第一个应用程序,并正在处理数据库内容,但是,我在弄清楚如何在不运行原始查询的情况下进行内部联接时遇到问题。
我在自动调整蒙版大小方面遇到了一些问题。这是交易:我正在使用最近发布的 TwUI ,它从 UIKit 中获取了很多,但它在 Mac 上。这就是我为 iOS 和 Mac 标记的原因。因此,我创建了一个底
好吧,这是一个很长的,打起精神来! :) 最近我尝试在启动期间启动一个用 bash 编写的看门狗脚本。所以我在 rc.local 中添加了一行,其中包含以下内容: su someuser -c "/h
我在我的机器上安装了多个版本的 Windows 软件开发工具包,有趣的是,我的机器上已经安装了一个 Visual studio Installer工具的版本低于近一年前安装的版本: Windows S
widget('zii.widgets.CMenu', array( 'items'=>array( array('label'=>'Home', '
我是一名优秀的程序员,十分优秀!