我是使用JS的新手,我只是采取简单的行动而遇到麻烦:
首先div
是50%宽度
我希望使用JS从其宽度中减去50%的第二个div。
就像:
a_div width = 50% - ( 50% width of b_div)
我已经尝试了这个,但它没有工作
$(document).ready(function(){
$("#h-prev").css({'width':($(".swiper-slide-prev").innerWidth())}).css('width:'-$(".swiper-slide-prev").width() * .50);
});
答案 0 :(得分:1)
获取父宽度除以2并减去另一个元素宽度除以2
var $el = $("#h-prev"),
parentWidth = $el.parent().width(),
otherWidth = $(".swiper-slide-prev").width(),
newWidth =(parentWidth/2) - (otherWidth/2)
$el.width( newWidth );
答案 1 :(得分:0)
我不确切知道这是不是你想要的,但是我用简单的javascript写了这个演示:https://jsfiddle.net/tubL1qxr/2/
var a = document.getElementById('a'), // element a
b = document.getElementById('b'), // element b
h = document.getElementById('h'); // button
h.addEventListener('click', changeSize);
function changeSize() {
a.style.width = ((window.innerWidth / 100 *50) - (b.offsetWidth /100*50)) + 'px';
}
你很明显,必须修改它以适合你的代码。
答案 2 :(得分:0)
这将获取第一个和第二个div的宽度,然后从第一个div的宽度(最初为50%)中减去第二个div宽度的一半。
这就是你的意思:
$(document).ready(function(){
var secondDivWidth = parseInt($('#second-div').css('width'));
var firstDivWidth = parseInt($('#first-div').css('width'));
$('#first-div').css('width', firstDivWidth - secondDivWidth/2);
// Example purposes only
console.log("Width before change (50%): " + firstDivWidth);
console.log("Width after change: " + $('#first-div').css('width'));
})
#first-div {
border: black solid 1px;
height: 100px;
width:50%;
}
#second-div {
border: red solid 1px;
height: 100px;
width: 400px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="first-div">
</div>
<div id="second-div">
</div>
答案 3 :(得分:0)
您有语法错误:
jQuery css()函数以两种方式工作,接受对象或2个参数:
所以你可以纠正这个宽度:&#39;把这个&#39;宽度&#39;:放进{} 结果如下:
$(document).ready(function() {
$("#h-prev").css({
'width': ($(".swiper-slide-prev").innerWidth())
}).css({'width':- $(".swiper-slide-prev").width() * .50});
});
如果只提供一个参数,您可以使用第二个选项,代码将遵循
$(document).ready(function() {
$("#h-prev").css('width', ($(".swiper-slide-prev").innerWidth())).css('width', -$(".swiper-slide-prev").width() * .50);
});
所以现在语法是正确的,如果你将代码片段放在这里,我将能够帮助你提供功能。