首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery LavaLamp:如何使用lavalamp外部的超链接在所需的LI上移动/设置lavaLamp突出显示

jQuery LavaLamp:如何使用lavalamp外部的超链接在所需的LI上移动/设置lavaLamp突出显示
EN

Stack Overflow用户
提问于 2010-08-10 16:36:36
回答 2查看 3K关注 0票数 1

现在这个问题已经被问过了,但我无法得到答案。我有一个Lavalamp,里面有4个LI,点击每个Lavalamp都会加载div中的一些内容。

它工作得很好。现在我在同一页上的某个地方有了一个超链接,而不是lavalamp。我希望,当我单击该链接时,lavalamp突出显示应该移动到特定的li并保持在那里。

为了让我自己明白,我有一个Lavalamp LI,它是这样的: Home,Work,About,Contact。我在页面上的某个地方也有一个“联系人”链接。当我点击“联系人”链接时,lavaLamp会将高亮显示从它所在的位置移动到第四个选项“联系人”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-10 18:21:44

如果您使用的是this lavalamp plugin,您将需要使用trigger()来激活鼠标输入并单击事件...这是一个demo

HTML

代码语言:javascript
复制
<ul id="menu">
 <li><a href="#home">Home</a></li>
 <li><a href="#work">Work</a></li>
 <li><a href="#about">About</a></li>
 <li><a href="#contact">Contact</a></li>
</ul>
<br>
<a class="contact" href="#contact">contact me!</a>

脚本

代码语言:javascript
复制
$(document).ready(function(){
 $('ul#menu').lavaLamp();
 $('.contact').click(function(){
  $('#menu a[href*=contact]').parent().trigger('mouseenter').trigger('click');
  return false; // added to prevent propogation
 });
});

哈哈,好吧,既然你用的是另一个lavalamp插件...以下是您可以使用的代码。此外,由于lavaplamp插件提供了点击功能,因此我通过在其中添加函数(new demo)来使javascript变得不那么引人注目。

HTML

代码语言:javascript
复制
<ul class="lavalamp">
 <li class="current"><a href="#home">Home</a></li>
 <li><a href="#work">Work</a></li>
 <li><a href="#about">About</a></li>
 <li><a href="#contact">Contact</a></li>
</ul>

<br><br><br>

<div id="home" class="info">
 Home page stuff goes here.
</div>
<div id="work" class="info">
 Work information goes here.
</div>
<div id="about" class="info">
 About me.
</div>
<div id="contact" class="info">
 Contact me.
</div>

<br><br><br>

<div class="links">
 You can see my <a href="#work">work</a> or <a href="#contact">contact me.</a>
</div>

脚本

代码语言:javascript
复制
$(function() {
 // set up lavalamp
 $(".lavalamp").lavaLamp({
  fx: "backout",
  speed: 700,
  click: function(event, menuItem) {
   // change information box
   var $block = $( $(menuItem).find('a').attr('href') );
   $('.info').not($block).hide();
   $block.fadeIn();
   return false;
  }
 });

 // initialize information box
 $('.current').trigger('click');

 // make links outside of the lavalamp work
 $('.links a').click(function(){
  var block = $(this).attr('href');
  $('.current').removeClass('current');
  $('.lavalamp').find('a[href=' + block + ']').parent().trigger('click');
 });

});
票数 1
EN

Stack Overflow用户

发布于 2010-08-10 18:29:36

好的,更多的细节。这是lavalamp和它外面的一个超链接。

代码语言:javascript
复制
<ul class="lavaLamp">
    <li><a href="javascript:content(1)">Home</a></li>
    <li><a href="javascript:content(2)">Work</a></li>
    <li><a href="javascript:content(3)">About</a></li>
    <li><a href="javascript:content(4)">Contact</a></li>    
</ul>

---
<div class="info">
// Corresponding information will be loaded here based on javascript:content(num)
<div>
---

<div>
    You can see my <a href="javascript:content(2)">work</a> or <a href="javascript:content(4)">contact me.</a>
</div>

现在,内容加载得很好了。但当我点击“工作”或“联系我”链接时,我也希望lavaLamp中的荧光笔移动到相应的LI's。“‘Work”和“Contact”。

我使用的是这里提供的LavaLamp版本:http://gmarwaha.com/blog/?p=7

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3447236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档