Mar*_*rco 3 html javascript css xhtml jquery
我正在使用一个名为jqtransform的jQuery插件
此插件使用JavaScript将CSS样式应用于表单元素.
我遇到的问题包括以下场景:
我正在构建一个具有高级搜索选项的搜索页面.当页面加载时,隐藏了名为"advancedSearch"的div,它只显示用户是否单击了一个元素.在div#advancedSearch里面我有几个表单元素.
但是,如果我使用CSS样式隐藏div#advancedSearch:"diplay:none;",则jqtransform插件无法与隐藏的元素一起正常工作.所以我的解决方案是用JavaScript隐藏div#advancedsearch.这实际上是有效的,如果在文档准备好之后完成它并不重要.
但是......使用JavaScript解决方案,div#advancedSearch保持可见几毫秒......这在视觉上很烦人.
所以我想知道这个问题的解决方案是在CSS中,还是在纠正jqtransform插件,甚至是找到一种方法来立即隐藏div#advancedSearch with JS使其立即隐藏.
在jeerose评论之后我决定把我的函数放在这里 (请注意<%=%>是ASP.Net标签,我用它来获取图像路径)
$('.toggleAdvancedSearch').click(function() {
$('#advancedSearchWrap').slideToggle(250);
$('form.jqtransform').jqTransform({ imgPath: '<%= ResolveClientUrl("~/masterpages/img/jqtransform/") %>' });
return false;
});
Run Code Online (Sandbox Code Playgroud)
为了测试这个问题,我做了以下事情:
添加了另一个元素到页面,ID为"applyStyle",onClick我调用$('form').jqTransform();
禁用$('form').jqTransform(); 从页面的负载.
如果我按下a#applyStyle,在扩展div#advancedSearch之前,我遇到了同样的问题.
但是,如果我扩展div#advancedSearch并按下a#applyStyle后,问题就解决了.
但是,如果我用$('form')运行页面.jqTransform(); 在负载上运行,按下a#applyStyle后我无法重新应用它.
我认为解决方案可能是:禁用div#advancedSearch中的所有元素,并在扩展div的同一函数上,使它也将样式应用于div#advancedSearch中的元素.
但是,我不知道如何做到这一点(如果这样可行的话).
PS:这似乎是插件的一个已知问题,但我不能无限期地等待解决方案.
小智 5
我遇到了一个完全不同的问题,所以我想我会把它与解决方案一起输入,以便人们可以找到它......
jqtransform将z-index值应用于所有选择下拉列表(在本例中为元素,而不是选项),并且从10开始向下执行此操作.这意味着第二个选择框的z-index为9,第3,第8,第4等等......如果你的数量超过11,你就会产生负数.如果您的选择框位于更复杂的div集合中,这会导致很大的问题,其中z-index值很重要(它们在背景中基本消失).
要解决这个问题,修改jqtransform代码可能是一个好主意,因此它使用selectbox tabindex属性作为它创建的新选择框的z-index.这样,所有新的(临时和样式)选择框都将具有真正隐藏的选择框tabindex属性的z-index值.
基本上,第256行到第261行(或那些约)的代码应如下所示:
var $wrapper = $select
.addClass('jqTransformHidden')
.wrap('<div class="jqTransformSelectWrapper"></div>')
.parent()
.css({zIndex: $select.attr('tabindex')})
;
Run Code Online (Sandbox Code Playgroud)
要使用此选项,请在选择框上设置选项卡索引.例如:
<select name="blah" id="blah" tabindex="33">...</select>
Run Code Online (Sandbox Code Playgroud)
这很漂亮,因为您可以控制哪个选择框出现在其他框上方.因此,使tabindex减少页面.您不希望下拉列表显示在下方的其他选择框下方.
关键字:jqtransform下拉列表选择框下拉框选择z-index不可见
| 归档时间: |
|
| 查看次数: |
6434 次 |
| 最近记录: |