哪个元素会影响我的jquery下拉菜单的位置-->使其正确运行
Which element effects the positioning of my jquery drop-down menu --> making it go right
一段时间以来,我一直在使用下拉jquery检查列表。不过,出于某些样式目的,我想使列表不下拉,而是将其折叠/向右移动。
我尝试了几件事(在我的 css 中)来完成此操作,但到目前为止似乎没有任何效果,我只是找不到影响菜单下拉菜单的正确元素。或者也许这是jquery处理的,但我真的看不到jquery这样做。
这是下拉列表的 html:
<form method="post">
<div id="list1" class="dropdown-check-list">
<span class="anchor">Select the country in which the event takes place</span>
<ul class="items">
<li><input type="checkbox" name="columns_location[]" value="Belgium" />Belgium</li>
<li><input type="checkbox" name="columns_location[]" value="Denmark" />Denmark</li>
<li><input type="checkbox" name="columns_location[]" value="England" />England</li>
<li><input type="checkbox" name="columns_location[]" value="France" />France</li>
<li><input type="checkbox" name="columns_location[]" value="Germany" />Germany</li>
<li><input type="checkbox" name="columns_location[]" value="Italy" />Italy</li>
<li><input type="checkbox" name="columns_location[]" value="Netherlands" />Netherlands</li>
<li><input type="checkbox" name="columns_location[]" value="Poland" />Poland</li>
<li><input type="checkbox" name="columns_location[]" value="Romania" />Romania</li>
<li><input type="checkbox" name="columns_location[]" value="Scotland" />Scotland</li>
<li><input type="checkbox" name="columns_location[]" value="Spain" />Spain</li>
<li><input type="checkbox" name="columns_location[]" value="Sweden" />Sweden</li>
<li><input type="checkbox" name="columns_location[]" value="Other" />Other</li>
<li><input type="checkbox" class="select-all" id="select-all" value="Select/deselect all"/>Select/deselect all</li>
</ul>
</div>
<div id="list2" class="dropdown-check-list">
<span class="anchor">Select type of Event</span>
<ul class="items">
<li><input type="checkbox" name="columns_type[]" value="Symposium" />Symposium</li>
<li><input type="checkbox" name="columns_type[]" value="Round table" />Round table</li>
<li><input type="checkbox" name="columns_type[]" value="Meeting" />Meeting</li>
<li><input type="checkbox" name="columns_type[]" value="Conference" />Conference</li>
<li><input type="checkbox" name="columns_type[]" value="Site visit" />Site visit</li>
<li><input type="checkbox" name="columns_type[]" value="Debate" />Debate</li>
<li><input type="checkbox" name="columns_type[]" value="Other" />Other</li>
<li><input type="checkbox" class="select-all" id="select-all" value="Select/deselect all"/>Select/deselect all</li>
</ul>
</div>
<input type="submit" name="go" value="Submit"/>
</form>
这是下拉列表的 CSS:
.dropdown-check-list {
display: inline-block;
padding: 0px 10px 20px 0px;
}
.dropdown-check-list .anchor {
position: relative;
cursor: pointer;
display: inline-block;
padding: 5px 50px 5px 10px;
border: 1px solid #ccc;
}
.dropdown-check-list .anchor:after {
position: absolute;
content: "";
border-left: 2px solid black;
border-top: 2px solid black;
padding: 5px;
right: 10px;
top: 20%;
-moz-transform: rotate(135deg);
-ms-transform: rotate(135deg);
-o-transform: rotate(135deg);
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
}
.dropdown-check-list .anchor:active:after {
right: 8px;
top: 21%;
}
.dropdown-check-list ul.items {
padding: 2px;
display: none;
margin: 0;
border: 1px solid #ccc;
border-top: none;
}
.dropdown-check-list ul.items li {
list-style: none;
}
.dropdown-check-list.visible .anchor {
color: #0094ff;
}
.dropdown-check-list.visible .items {
display: block;
}
这是javascript/jquery代码:
$('.select-all').click(function (event) {
var $list = $(this).closest('.dropdown-check-list');
$list.find(':checkbox').prop('checked', $(this).prop('checked'));
});
$('.dropdown-check-list .anchor').click(function(){
$(this).closest('.dropdown-check-list').toggleClass("visible");
});
我也尝试影响 css 中的旋转度数,但这只会影响符号(箭头)。
希望有人能为我指出正确的方向,提前谢谢!
据我了解,您希望下拉列表向右打开而不是直接向中心打开,为此,为 ul 和下拉窗口本身分配边距。
即:
.dropddownBox {
margin-left: 50px;
}
在您的 CSS 中,将下拉菜单推送到右侧。左边也是如此,如果需要,您可以创建一个负左边距以将其推向左侧。
编辑:我注意到它击落了 jsfiddle 中包含的下拉菜单和按钮,所以我对其进行了一些修改以确保它不会这样做,您可以这样做:
.dropddownBox {
position: absolute;
z-index: 10;
margin-left: 50px;
}
我设置 z 索引只是为了确保它显示在其他div 等上方,如果它确实重叠。
相关文章:
- jquerytoastmessagemultipe位置,如何在运行时更改位置类
- 在站点的另一个位置运行 java 脚本
- 单击在焦点丢失之前注册的位置,但在焦点丢失后运行事件
- 如何在客户端和服务器位置都是动态时通过 TLS 运行 C# Websockets
- 错误“JavaScript 运行时错误:查找滚动位置时无法获取未定义或空引用的属性'scrollLeft'”
- 运行地理位置定位的 js 文件
- 如何添加多个函数以从不同位置对同一事件运行
- 哪个元素会影响我的jquery下拉菜单的位置-->使其正确运行
- getElementById元素在运行时动态创建的位置
- SimpleWeather.js位置更新无法在iOS设备上运行
- 应该't$parser/$formatter在不同的位置运行,而不是链接
- 每次单独的动画到达某个位置时,运行并重置一个动画
- bookmarklet可以't在普通图像url上运行时在ie中的固定位置
- ScrollLeft返回到设置的位置,遗憾的是无法在Firefox上运行
- 没有滚动条出现,当我通过浏览器运行我的网站,我的滑出菜单位置设置为固定
- 使用php变量的图像位置,使用onclick通过图像库运行
- JavaScript if语句运行两个条件,如果位置替换使用
- 位置动画在IE上运行缓慢
- 在jQuery(document).ready()之后从外部位置运行javascript
- 如何在运行Build时更改gulpfile.babel.js以添加HTML位置