小编vsy*_*ync的帖子

如何防止浏览器记住复选框状态?

在网络表单中,当我以编程方式取消选中之前选中的复选框时,浏览器会尝试“记住”以前的状态并在回发后再次检查它们。

有没有类似的东西来autocomplete=off完成这个?无论如何,如何防止浏览器选中我想要取消选中的复选框?

html javascript browser asp.net autocomplete

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

没有使用时隐藏css3多行省略号阅读更多链接

我有一个小问题。我找到了一种使用跨浏览器多行省略号的方法。

这是我的 less CSS mixin。

正如您所看到的,这个版本在webkit中运行完美,在所有其他浏览器中运行“ok”。

.ellipsis-multi(@lh, @l, @mw) {
  /* non-webkit */
  max-height: @lh*@l;
  /* webkit */
  -webkit-box-orient: vertical;
  -webkit-line-clamp: @l;
  display: -webkit-box;
  line-height: @lh;
  max-width: @mw;
  overflow: hidden;
  text-overflow: ellipsis;
}

.excerpt {      
  &.hide {
    .ellipsis-multi(1.4em, 3, 100%)
  }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,我使用阅读更多链接来添加和删除“隐藏”类。这很完美,但如果摘录 div 只有 2 行文本,链接也可见。

如果需要省略号,我需要一种仅显示链接的方法。

这是一个 Codepen 示例 http://codepen.io/janwagner/pen/ubHef

我更喜欢仅 CSS 的方法来解决这个问题:)

javascript css ellipsis multiline less

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

将容器中的响应式 svg 圆圈居中

测试页

标记:

<svg viewBox="0 0 400 400"  preserveAspectRatio="xMinYMin meet">
    <g>
        <circle r="70" class="circle-back" />
    </g>
</svg>
Run Code Online (Sandbox Code Playgroud)

CSS

.doughnutChart{
    text-align:center;
    padding:50% 1em 0;
    position: relative;
    overflow: hidden;

    > svg{
        position: absolute;
        top: 0;
        left:0; right:0;
        margin: auto;

        g{ transform:rotate(270deg) translate(-88px, 200px); }
    }

    circle{ fill: none; }
    .circle-back { stroke:#EEE; stroke-width: 5px; }
}
Run Code Online (Sandbox Code Playgroud)

正如您在测试页面中看到的那样,我试图定位一个具有一定半径的响应圆,并且我希望它将自己定位在容器的中间,而不管容器的宽度如何。如果圆圈也适合容器的高度,那就更好了。

translateg元素上使用百分比的css 似乎存在问题,这使我无法做到translate(-50%, -50%)


这是我所拥有的一个非常简化的版本,因为在我的代码中它是一个圆环图,这就是它对它进行这种rotate转换的原因

html css svg

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

ES6 将模块导入为对象

我正在使用这个 GULP 插件,它将 HTML 文件转换为 ES6 导出,这样我就可以将它们加载到我的 MVC 中的浏览器上(使用rollup捆绑器)。

基本上我有作为模块导出的页面控制器。

然后,在我的主 JS 文件中,我只需一个一个地导入所有页面控制器,如下所示(简化):

import * as page__home from './pages/page1';
import * as page__home from './pages/page2';
...
Run Code Online (Sandbox Code Playgroud)

由于这是一个SPA,我认为以某种方式将所有页面控制器导入到某个对象中会更容易,因此当要调用控制器时,我可以检查该名称是否存在于包含所有导入控制器的对象中, 或类似的东西。

或者也许有一种方法可以检查模块是否以某种方式导入?有没有更聪明的方法来做到这一点?谢谢

javascript ecmascript-6

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

父母用"过滤器"的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
查看次数

具有多个转换的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
查看次数

Gulp 4 - 观察而不是观察变化

今天我迁移到Gulp 4,但我无法让我的手表功能工作。

// Watch
gulp.task('watch', gulp.series('typescript', 'sass', 'browserSync', function(){
  gulp.watch('./app/styles/**/*.scss', gulp.series('sass'));
  gulp.watch('app/scripts/**/*.ts', gulp.series('typescript'));
  gulp.watch('./app/*.html', browserSync.reload);
}));
Run Code Online (Sandbox Code Playgroud)

typescript, sass,browserSync将运行,但watch不会对文件更改做出反应。

javascript gulp gulp-watch

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

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万
查看次数