如何调整JavaScript Fisheye脚本的放大触发器?

时间:2012-02-24 16:55:37

标签: javascript jquery plugins triggers fisheye

我在我的网站(here)中使用了jQuery Fisheye插件(link to my site)。 你可以看到有9个“气泡”,当你在其中一个上移动鼠标时, 它会被扩大。

默认情况下,是否可以将其中一个“气泡”放在最大尺寸上, 所以当访客加载页面时,他会看到8个小气泡和一个“最大尺寸”的气泡?

修改 我试图为“大泡泡”效果添加一个新的CSS“类”。 现在的问题是(正如你在上面的链接中看到的那样),大气泡似乎位于左边小气泡的顶部。

我尝试将marginpadding添加到大泡泡风格中,但它没有帮助, 我想因为所有小气泡都是float:right

我的html / php代码:

<script type="text/javascript">

    $(document).ready(
        function()
        {
            $('#dock2').Fisheye(
                {
                    maxWidth: 150,
                    items: 'a',
                    itemsText: 'span',
                    container: '.dock-container2',
                    itemWidth: 80,
                    proximity: 80,
                    halign : 'center',
                    valign : 'bottom'
                }
            )


            $('#auto_big').addClass('dock-item2-big');

            $('.dock-item2').mouseover(function() {
                $('#auto_big').removeClass('dock-item2-big');
            });
            $('.dock-item2').mouseout(function() {
                $('#auto_big').addClass('dock-item2-big');
            });


        }
    );

</script>
    <div class="dock2" id="dock2">
  <div class="dock-container2">
<?php $categories = $this->requestAction('categories/index/direction:asc/limit:9'); ?>
<?php foreach ($categories as $category): ?>

    <?php
        if($category['Category']['id'] == 27)
            $special = " id='auto_big'";
        else
            $special = "";
    ?>

  <a class="dock-item2" href="/categories/show/<?=$category['Category']['id'];?>"<?=$special?>><span><img src='/img/cat/<?=$category['Category']['id'];?>_title.png'></span><img src="/img/cat/<?php echo $category['Category']['picture']; ?>" alt="<?php echo $category['Category']['name']; ?>" /></a> 
 <?php endforeach; ?>
  </div> 
</div>

我的风格:

/* dock2 - bottom */
#dock2 {
    width: 100%;
    bottom: 0px;
    position: relative;
    left: 0px;
}
.dock-container2 {
    position: absolute;
    height: 50px;
    /*background: url(images/dock-bg.gif);*/
    /*padding-left: 20px;*/
}
a.dock-item2 {
    display: block; 
    font: bold 12px Arial, Helvetica, sans-serif;
    width: 40px; 
    color: #000; 
    bottom: 0px; 
    position: absolute;
    text-align: center;
    text-decoration: none;
}
.dock-item2 span {
    display: none;
    padding-left: 20px;
    font-size:20px;
    float:right;

}
.dock-item2 img {
    border: none; 
    margin: 5px 10px 0px; 
    width: 100%; 
}



a.dock-item2-big {
    display: block; 
    font: bold 12px Arial, Helvetica, sans-serif;
    width: 200px; 
    color: #000; 
    bottom: 0px; 
    position: absolute;
}
.dock-item2-big span {
    display:block;
    padding-left: 20px;
    font-size:20px;
    float:right;

}

.dock-item2-big img {
    border: none; 
    width: 220px;
}

1 个答案:

答案 0 :(得分:0)

当鼠标靠近(未结束)时项目开始调整大小,我会说它基于鼠标位置。由于你无法用javascript移动鼠标光标,我认为你不能触发它。

找到另一种方法的时间,例如在CSS中设置大元素的比例。如果您打开Firebug(或其他检查器)并观察该元素,您将看到随着鼠标越来越近,左侧和宽度会发生变化。选择一些值并通过CSS设置它们。