所以我在一行中留下了边距并将其添加到另一行。它适用于Safari和Chrome。它也不会抛出任何错误。
这里是jQuery代码:
var j = jQuery.noConflict();
j(document).ready(function($){
// Slider margin left equal to grid on load
var margLeft = $('#mainrow').css('margin-left');
$('#cnn-slider').css('margin-left', margLeft);
// Slider margin left equal to grid on resize window
$(window).resize(function() {
var margLeft = $('#mainrow').css('margin-left');
$('#cnn-slider').css('margin-left', margLeft);
});
});
HTML代码:
<div id="main" role="main">
<article>
<div class="entry-content">
<div class="row" id="mainrow">
<div class="medium-12 columns">
<h1><?php the_title(); ?></h1>
<div class="row main-content">
<div class="medium-6 columns">
<?php the_field('history_text'); ?>
</div>
</div>
</div>
</div>
<div class="row" id="cnn-slider" style="max-width: 100%;">
<div class="columns">
<div class="slider-container">
<div class="slider-shadow"></div>
<?php echo do_shortcode("[metaslider id=40]");?>
</div>
</div>
</div>
<?php the_content(); ?>
</div><!-- .entry-content -->
</article>
</div>
编辑:我已经添加了HTML代码,因为有些用户说它还没有完成。整个事情应该就足够了。感谢。
编辑2:如果我通过css(例如100px或其他)设置了一个特定的保证金 - 而不是&#34; auto&#34;它适用于负载。但吸引力是以dinamycally方式从网格中获取居中行的左边距(所以&#34;边距:0自动&#34;)。
答案 0 :(得分:2)
我想这可能是因为你的noConflict,因为我遇到了启用noConflict功能的问题。
没有noConflict就可以运行,请参阅下面的示例:
$(function() {
$(window).on( 'resize', resetMargin );
resetMargin();
});
function resetMargin() {
var margLeft = parseInt( $('#mainrow').css('margin-left') );
$('#cnn-slider').css('margin-left', margLeft);
console.log( margLeft );
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="main" role="main">
<article>
<div class="entry-content">
<div class="row" id="mainrow">
<div class="medium-12 columns">
<h1>test</h1>
<div class="row main-content">
<div class="medium-6 columns">
blahblahblah
</div>
</div>
</div>
</div>
<div class="row" id="cnn-slider" style="max-width: 100%;">
<div class="columns">
<div class="slider-container">
<div class="slider-shadow"></div>
woohawoohawooha
</div>
</div>
</div>
<?php the_content(); ?>
</div><!-- .entry-content -->
</article>
</div>
&#13;
答案 1 :(得分:1)
经过一番研究后,我发现它是一个Firefox漏洞没有从&#34; auto&#34;元素通过.css()访问它的css。所以我已经使用.offset()。左来访问它,它现在可以正常工作。
现在看起来像这样:
// Slider margin left equal to grid on load
var margLeft = $('#mainrow').offset().left;
$('#cnn-slider').css('margin-left', margLeft);
// Slider margin left equal to grid on resize window
$(window).resize(function() {
var margLeft = $('#mainrow').offset().left;
$('#cnn-slider').css('margin-left', margLeft);
});