1

今、この質問は以前に尋ねられましたが、答えを得ることができません。内部に 4 つの LI を含む Lavalamp があり、それぞれをクリックすると、div にいくつかのコンテンツがロードされます。

それはすべてうまくいきます。今、私はそのラバランプの外の同じページのどこかにハイパーリンクを持っています. そのリンクをクリックすると、lavalamp のハイライトが特定の li に移動し、そこにとどまるようにします。

明確にするために、私は次のような Lavalamp LI を持っています: Home、Work、About、Contact。また、ページのどこかに「連絡先」リンクもあります。「連絡先」リンクをクリックすると、lavaLamp はハイライトをどこからでも 4 番目のオプション「連絡先」に移動する必要があります。

4

2 に答える 2

1

このlavalampプラグインを使用している場合はtrigger()、mouseenterおよびクリックイベントを有効にするために使用する必要があります...ここにデモがあります。

HTML

<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>

脚本

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

LOL、わかりました、他のlavalampプラグインを使用しているので...使用できるコードは次のとおりです。また、lavaplamp プラグインはクリック機能を提供するので、そこに機能を追加して JavaScript を控えめにしました ( new demo )。

HTML

<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>

脚本

$(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');
 });

});
于 2010-08-10T10:21:43.567 に答える
0

詳細を確認してください。これがラバライトとその外側のハイパーリンクです。

<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>

これで、コンテンツが正常に読み込まれました。しかし、「work」または「contact me」リンクをクリックすると、lavaLampの蛍光ペンも対応するLIに移動します。つまり、それぞれ「仕事」と「連絡先」です。

ここにあるLavaLampバージョンを使用しています:http://gmarwaha.com/blog/?p = 7

于 2010-08-10T10:29:36.353 に答える