切换使用百叶窗效果

发布于 2024-08-24 21:42:46 字数 1335 浏览 3 评论 0原文

有没有办法更改此脚本以用作 jQuery 百叶窗效果?

// Andy Langton's show/hide/mini-accordion - updated 23/11/2009
// Latest version @ http://andylangton.co.uk/jquery-show-hide

// this tells jquery to run the function below once the DOM is ready
$(document).ready(function() {

// choose text for the show/hide link - can contain HTML (e.g. an image)
var showText='';
var hideText='';

// initialise the visibility check
var is_visible = false;

// append show/hide links to the element directly preceding the element with a class of "toggle"
$('.toggle').prev().append(' <a href="#" class="toggleLink">'+showText+'</a>');

// hide all of the elements with a class of 'toggle'
$('.toggle').hide();

// capture clicks on the toggle links
$('a.toggleLink').click(function() {

// switch visibility
is_visible = !is_visible;

// toggle the display - uncomment the next line for a basic "accordion" style
//$('.toggle').hide();$('a.toggleLink').html(showText);
$(this).parent().next('.toggle').toggle('slow');

// return false so any link destination is not followed
return false;

});
});

FYI-
Where it says:
var showText='';
var hideText='';

It was originally:
var showText='Show';
var hideText='Hide';

我删除了显示/隐藏文本,因为我将链接应用到文本的不同区域。我喜欢“盲”效果,而不是“切换”效果,并且需要知道如何应用它(如果可能)。我找不到允许将链接应用到任何文本(而不是按钮或静态文本)的基本盲效果脚本。

Is there a way to alter this script to be used as the jQuery blinds effect?

// Andy Langton's show/hide/mini-accordion - updated 23/11/2009
// Latest version @ http://andylangton.co.uk/jquery-show-hide

// this tells jquery to run the function below once the DOM is ready
$(document).ready(function() {

// choose text for the show/hide link - can contain HTML (e.g. an image)
var showText='';
var hideText='';

// initialise the visibility check
var is_visible = false;

// append show/hide links to the element directly preceding the element with a class of "toggle"
$('.toggle').prev().append(' <a href="#" class="toggleLink">'+showText+'</a>');

// hide all of the elements with a class of 'toggle'
$('.toggle').hide();

// capture clicks on the toggle links
$('a.toggleLink').click(function() {

// switch visibility
is_visible = !is_visible;

// toggle the display - uncomment the next line for a basic "accordion" style
//$('.toggle').hide();$('a.toggleLink').html(showText);
$(this).parent().next('.toggle').toggle('slow');

// return false so any link destination is not followed
return false;

});
});

FYI-
Where it says:
var showText='';
var hideText='';

It was originally:
var showText='Show';
var hideText='Hide';

I deleted the Show/Hide Text because I am applying the link to different areas of text. I like the Blind effect, vs. this Toggle effect, and need to know how to apply it, if possible. I cannot find a basic Blind effect script that allows the use of applying the link to ANY text, vs. a button or static text.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

勿挽旧人 2024-08-31 21:42:46

我似乎已经明白了,DUH!通过更改以下行中的 1 个单词:

$(this).parent().next('.toggle').toggle('slow');

更改为:

$(this).parent().next('.toggle').slideToggle('slow');

简单更改:
.toggle.slideToggle

我还完全删除了不需要的行:

var showText='';
var hideText='';

最初是这样说的:

var showText='Show';
var hideText='Hide';

因为我想应用链接来激活各种文本的隐藏 DIV。

还删除了与此相关的另一行:

$('.toggle').prev().append(' <a href="#" class="toggleLink">'+showText+'</a>');

返回使其成为滑动效果[直接向下/向上滑动与从顶部/左上角进入/退出]:
在我发现将 .toggle 更改为 .slideToggle 可以解决问题后,我将行替换为:

$(this).parent().next('.toggle').animate({"height": "toggle"},{duration: 1000});

而不是:

$(this).parent().next('.toggle').slideToggle('slow');

现在我可以控制速度,这使得以获得更顺畅的滑动。

对于 HTML,只需将“toggleLink”类应用于任何带有 href="#" 的链接即可。对于隐藏的 DIV,应用“toggle”类。

I seemed to have figured it out, DUH! By changing 1 word in the following line:

$(this).parent().next('.toggle').toggle('slow');

Changed to this:

$(this).parent().next('.toggle').slideToggle('slow');

Simply changed:
.toggle to .slideToggle

I also deleted the unneeded lines completely:

var showText='';
var hideText='';

Which originally said:

var showText='Show';
var hideText='Hide';

because I wanted to apply the link to activate the hidden DIV to various text.

Also deleted the other line associated with this:

$('.toggle').prev().append(' <a href="#" class="toggleLink">'+showText+'</a>');

Back to making this a Sliding effect [Straight slide down/up vs. coming in/out from top/left corner]:
After I figure out that changing .toggle to .slideToggle did the trick, I then replaced the line to read:

$(this).parent().next('.toggle').animate({"height": "toggle"},{duration: 1000});

instead of:

$(this).parent().next('.toggle').slideToggle('slow');

Now I have control over the speed, which makes for a smoother slide.

For the HTML, simply apply a class "toggleLink" to any link with the href="#". For the hidden DIV, apply the class "toggle".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文