小编vsy*_*ync的帖子

父母用"过滤器"的Firefox位置错误

演示页面

<body>
  <div></div>
</body>
Run Code Online (Sandbox Code Playgroud)
body{ -webkit-filter:blur(2px); filter:blur(2px); }

div{
  background: blue;
  margin: auto;
  position: absolute;
  right: 0;
  top: 50%;
  left: 0;
  height:200px;
  width: 200px;
  transform: translateY(-50%);
}
Run Code Online (Sandbox Code Playgroud)

filter:blur(1px)(或任何其他过滤器)提供给定位元素(Firefox)的父级会使浏览器忽略子级的位置.

有没有人遇到过这种情况并知道解决这种烦恼的方法?


在FF48 beta/win7上测试过

css firefox position

5
推荐指数
1
解决办法
1872
查看次数

D3 v4 - d3.zoom()可以防止绑定除Window之外的某些事件

无益的Github 讨论让我在这里提出这个问题:


更改为新的v4.0 D3之后,好像在使用d3.zoom() 块一些事件,如:

打电话给:
svg.call(d3.zoom()
     .scaleExtent([1, 40])
     .translateExtent([[-100, -100], [width + 90, height + 100]])
     .on("zoom", zoomed));
Run Code Online (Sandbox Code Playgroud) 然后这个:
document.querySelector('svg').addEventListener('mouseup', function(){ alert(1) })
Run Code Online (Sandbox Code Playgroud)

单击SVG上的任何位置时不会发出任何警报.


我真的希望这样做:

window.addEventListener("mouseup", function(e){
    if( [target or target parent is the specific SVG element] ){
        // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

因为这将mouseup在窗口上引入全局非命名空间事件(此技术似乎适用于该window对象),并且此事件可能会在其他位置删除,或者多次发生.(封装它并不容易,或者我根本不知道如何).

关于如何mouseup在SVG上捕获事件的更好的想法?


与我的另一个问题相关:事件捕获命名空间

演示页面


更新:

在Mark的回答的帮助下,这是工作演示

javascript d3.js

5
推荐指数
1
解决办法
1067
查看次数

D3.js版本4使节点粘滞

我是D3版本4的新用户,我在向强制定向布局中添加固定节点功能时遇到了问题.我相信这是通过将d.fixed设置为true在v3中实现的,但是我将此问题转换为与v4兼容的问题.我已经尝试添加simulation.fix,但是如果不从模拟开始修复节点,就无法将其集成到我现有的代码中.

理想情况下,我想添加一个双击侦听器来固定节点,并允许它通过拖动功能定位,然后再次双击时恢复模拟力.提前感谢您的帮助.

这是我的js:

<!--load svg-->
<svg width="1500" height="600"></svg>
 <!--begin javascript for d3 forced layout-->
<script>
var svgNetwork = d3.select("svg"),
    width = +svgNetwork.attr("width"),
    height = +svgNetwork.attr("height");


var simulation = d3.forceSimulation()
    .force("link", d3.forceLink().id(function(data1) { return data1.id; }))
    .force("charge", d3.forceManyBody().strength(-1500))
    .force("center", d3.forceCenter(width / 2, height / 2));



//load  the node csv data and link csv data together - open node(open link(funtions for making chart))
d3.csv("nodes.csv", function (error1, data1) {
    if (error1) throw error1;
    console.log(data1);

    d3.csv("lines.csv", function (error2, data2) {
        if (error2) throw error2; …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js

5
推荐指数
2
解决办法
4502
查看次数

SASS-按项目索引获取地图项目值

我希望能够通过该地图项目的索引选择SASS地图项目值。
简化方案:

SCSS

// Colors map (MUST stay this way due to system dependence)
$colors: (
    a: red,
    b: green,
    c: blue
);

@for $i from 1 through 3{
    a:nth-child({$i}){ color:[GET COLOR BY $i FROM $COLORS]; }
}
Run Code Online (Sandbox Code Playgroud)

那可能吗?

sass

5
推荐指数
1
解决办法
2355
查看次数

具有多个转换的transitionEnd事件,检测最后一次转换

transitionEnd事件是在首先结束而不是最后结束的转换上触发的,这不是期望的行为.任何解决方法?

document.querySelector('a').addEventListener('transitionend', function(){
  var time = (new Date().getMinutes()) + ':' + (new Date().getSeconds());
  console.log('transitionEnd - ', time);
});
Run Code Online (Sandbox Code Playgroud)
a{
  display:block;
  opacity:.5;
  width:100px;
  height:50px;
  background:lightblue;
}
a:hover{
  width:200px;
  height:100px;
  background:red;
  transition: 4s width,     /* <-- "transitionEnd" should fire after this */
              2s height,
              .5s background;  
}
Run Code Online (Sandbox Code Playgroud)
<a>Hover me</a>
Run Code Online (Sandbox Code Playgroud)

现在我检查Chrome(我不使用该浏览器),我看到该事件被调用3次,每次转换一次.无论如何,我需要它来解决最后一个,并在Firefox中.(我不知道元素上有多少转换,知道哪个是最后一个)

javascript dom

5
推荐指数
1
解决办法
1338
查看次数

SCSS/SASS列表反向迭代(向后循环)

@for可以按如下方式反转 SCSS 中迭代输出的顺序:

SCSS 示例:GIST 演示

$colors : green, gold, red;

a{
  $i : length($colors);
  @each $c in $colors {
      &:nth-child(#{$i}){
           fill:$c;
      }
      $i : $i - 1;
  }
}
Run Code Online (Sandbox Code Playgroud)

输出:

a:nth-child(3) {
  fill: green;
}
a:nth-child(2) {
  fill: gold;
}
a:nth-child(1) {
  fill: red;
}
Run Code Online (Sandbox Code Playgroud)

这是SASS反向迭代的最佳方式吗?

有谁知道有一种更“SCSS 原生”的方式来实现这一目标,从而提高可读性?

sass

5
推荐指数
1
解决办法
4625
查看次数

滚动事件无法在移动设备上运行

Setch.me通常在桌面上加载而不是在移动设备上加载,除非我点击摄影师/化妆师,我在这里搜索解决方案之后添加了height = device-height但是没有用.

$(window).scroll(function() { 
    if($(window).scrollTop() + $(window).height() >= $(document).height()) { 
        track_page++; 
        load_contents(track_page); 
    }
Run Code Online (Sandbox Code Playgroud)

javascript jquery

5
推荐指数
2
解决办法
2万
查看次数

jQuery - 如何在 div 中找到表格

我有以下jsp

<div class="content" id="divContent">
    <ul class="ul-content ui-sortable" id="content" style="padding-left: 10px; max-width: 920px;">
        <li class="draggable freetext ui-draggable ui-draggable-handle content-element" style="width:; height:; overflow: auto;">
            <div class="element-content">
                <div class="questiontitle elementtitle" id="58f95b7f-c127-7e40-a3a7-5253ed32fc31">
                    <table>
                        <tbody>
                            <tr>
                                <td>
                                    <span class="optional1">(Opcional  )</span>
                                </td>
                                <td>New Freetext Question</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <input class="freetext" type="text" readonly="readonly">
                <div class="questionhelp">
                </div>
            </div>
        </li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我想在 div 中找到表格

<div class="questiontitle elementtitle" id="58f95b7f-c127-7e40-a3a7-5253ed32fc31">
Run Code Online (Sandbox Code Playgroud)

我写的代码:

var contentDivTable = $(contentDiv).find('tr');
var numerocontentDivTable = contentDivTable.length;
console.log('additem after addfreetext contenDiv  number table ',numerocontentDivTable);
Run Code Online (Sandbox Code Playgroud)

这是浏览器控制台中的跟踪

additem after …
Run Code Online (Sandbox Code Playgroud)

javascript css jquery element html-table

5
推荐指数
2
解决办法
2万
查看次数

WebPack加载器生成没有CSS文件的SVG Sprite文件

我使用gulp-svg-sprites将多个SVG转换为一个大的Sprite,并且除了在文件中生成符号和适当的CSS选择器外。

出于架构更改的目的,我正在Webpack 3上迁移所有gulp进程。要用Webpack复制,我无法实现的最后一件事是SVG Sprite生成。

使用Gulp-svg-sprites,脚本为:

var thisPipe = gulpSrc(svgSrc)
    .pipe(svgSprite(config.svgSprites.compilerOptions))
    .pipe(gulp.dest(svgDest));
Run Code Online (Sandbox Code Playgroud)

其中compileOptions代表svgSprite可用的选项。

我尝试了几种方法,但几乎不怀疑自己做错了什么(或滥用了尝试的工具)。

我主要看了https://github.com/kisenka/svg-sprite-loader/,有一个简单的用例:

  • ./img/icons/icon-1.svg 必须移至 ./build/img/sprints.svg
  • 必须创建CSS文件才能在Sprite文件中使用图标。
  • 文件夹“ ./img/icons”可以包含很多svg。

关于我的webpack.config.tssvg文件,第1部分(生成SVG精灵)是:

 module: {
    rules: [
        {
            test: /\.svg$/,
            loader: 'svg-sprite-loader',
            options: {
                extract: true,
                spriteFilename: 'sprite.svg'
            }
        }, {...}] ...
Run Code Online (Sandbox Code Playgroud)

我没有指定特定的“入口”或“输出”,也没有ExtractTextPlugin在svg文件上使用。

关于第2部分(CSS文件),我不知道如何从中生成CSS文件。


  1. 如何使用Webpack生成Sprite文件?
  2. 如何生成“双胞胎” CSS文件?

谢谢。

svg sprite gulp webpack

5
推荐指数
0
解决办法
2485
查看次数

React 将布尔值传递给组件

我试图将布尔值传递给我的组件,以便它可以根据图像的真假来显示图像,但我不太确定如何继续。

这是代码:

布尔值传递给组件:

<SomeComponent showImage={false}/>
Run Code Online (Sandbox Code Playgroud)

尝试在组件上使用它:

const TheImage = showImage => (

      <div align="center">
        {showImage ? (<img src={ImageIwant} alt="The image i want" width="80%" height="80%" />) : ''}
        <p>Here is the image</p>
      </div>); 
Run Code Online (Sandbox Code Playgroud)

我是新来反应的,我不知道为什么这不起作用。

reactjs

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

javascript ×5

css ×2

d3.js ×2

jquery ×2

sass ×2

dom ×1

element ×1

firefox ×1

gulp ×1

html-table ×1

position ×1

reactjs ×1

sprite ×1

svg ×1

webpack ×1