小编Jam*_*mer的帖子

CSS网格布局 - 如何使用javascript计算鼠标所在的网格单元格?

"css网格布局"= https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout

有没有人知道一种javascript方法来计算鼠标当前所在的列/行?

我猜这样的东西是获得鼠标所在单元格的开始,但是这只适用于相同大小的网格.

MouseGridColumn = round(mouseX / ( gridContainerWidth  / gridTotalColumnsNumber ) )
MouseGridRow    = round(mouseY / ( gridContainerHeight / gridTotalRowsNumber    ) )
Run Code Online (Sandbox Code Playgroud)

有没有办法用不相等的细胞做到这一点?


更新1 - 添加codepen

这是一个codepen,显示3个不同的百分比列宽(grid-template-columns: 25% 50% 25%;),2行,一个没有元素的网格单元格和一个跨越多行的元素:http://codepen.io/anon/pen/NbeOXp


更新2 - 尝试计算鼠标所在的网格单元格.

在这里,我为网格中的每个单元格添加了隐藏元素,以检测鼠标所在的单元格.但是它只返回它所在的当前元素的"auto".它还非常笨重,不得不向网格添加额外的隐藏元素IMO .

http://codepen.io/anon/pen/gLZBZw提示:使用鼠标悬停在网格上.

javascript css css3 css-grid

11
推荐指数
1
解决办法
1987
查看次数

如何使用别名调用特征方法

我正试图在一个名为Page的类中放置一个特征.我还需要重命名一个特征函数,以便它不会与现有的类函数冲突.我以为我成功完成了所有这些,但是我得到一个指向错误位置的错误?!

Call to undefined function App\Pages\Models\myTraitDefaultScope()

我也试过:MyTrait\defaultScope($query)而不是试图重命名冲突的功能.但是我得到以下错误:

Call to undefined function App\MyTrait\defaultScope()

下面是单独文件中包含的特征和类.

<?php
namespace App;

use Illuminate\Support\Facades\Auth;

trait MyTrait{
    public function defaultScope($query){
        return $query->where('active', '1')
    }
}
Run Code Online (Sandbox Code Playgroud)

.

<?php namespace Modules\Pages\Models;
use Illuminate\Database\Eloquent\Model;
use App\MyTrait;

class Page extends Model {

    use MyTrait{
        MyTrait::defaultScope as myTraitDefaultScope;
    }

    public function defaultScope($query){
        return myTraitDefaultScope($query);
    }
}
Run Code Online (Sandbox Code Playgroud)

我不是那么棒,所以如果我有一些严重错误请不要开枪:)

php namespaces class traits laravel

10
推荐指数
1
解决办法
2327
查看次数

渲染阻塞react.js和pageSpeed/page rank

在React.js的教程中,它表明它的javascript文件需要在<head>不允许页面呈现的情况下才能完成加载.

从这个快速测试看来,任何需要react.js的网站都不会对google的pageSpeed有好处,因为它会抛出这个问题"消除渲染阻止JavaScript和CSS 的首要内容"

我的问题是:

  1. 这实际上会影响页面速度
  2. 这个问题是否意味着谷歌网页排名也将受到影响

javascript sync reactjs

8
推荐指数
1
解决办法
5352
查看次数

身高100%的jQuery滚动问题

我在我的Chrome网站上遇到了一些奇怪的问题,如果我有一个100%的jquery页面滚动停止工作.我无法移除身高:100%,因为这需要使.header类占页面的50%.Firefox根本不受此问题的影响.我看过其他类似的问题,但没有帮助.

我在这里写了一个测试:http://codepen.io/anon/pen/bIHxc.

.

我已经尝试过这些东西让它在chrome中运行但是每一个都阻止其他工作:

  1. 当前http://codepen.io/anon/pen/bIHxc - 标题是页面的50%(好)但滚动无法在Chrome中运行(不好)

  2. 试过min-height:100%代替身高:100%身体css - 这允许滚动工作在chrome(好)但折叠标题(坏)

  3. 从位置改变#mainContainer css:relative; 绝对 - 标题和滚动都工作(好),直到展开#sidebar(单击左上角的打开按钮).#mainContainer现在可以在移动设备或mac触控板上自由移动(非常糟糕!).看起来好像overflow-x不起作用.

我试图在没有javascript的情况下这样做.我想做一些不可能的事吗?

.

stackoverflow所需的东西

<!DOCTYPE html>
<html>
    <head>    
    <meta name="HandheldFriendly" content="True" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />    
    <script type="text/javascript" src="assets/js/jquery.min.js"></script>        
<style>
  html, body {
    padding: 0;
    margin: 0;
    overflow-x: hidden;
}
html {
    height: 100%;
}
body {
    height: 100%;
}
#sideBar {
    background: red;
    position: fixed;
    height: 120%;
    width: 200px;
}
#mainContainer {
    -webkit-transition:transform 0.4s ease, margin 0.4s ease;
    -moz-transition:transform …
Run Code Online (Sandbox Code Playgroud)

html css jquery scroll google-chrome

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

用quill.js插入HTML或“模板”

我想为quill.js创建一个html代码段或模板,这将使我能够创建3列1行网格。即:

<div class="row">
  <div class="col col-4">
    column 1
  </div>
  <div class="col col-4">
    column 2
  </div>
  <div class="col col-4">
    column 3
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我尝试添加<div>标签,如下所示,但是它不起作用并将标签打印为文本。

quill.setContents([
  { insert: '<div>' },
  { insert: 'World!', attributes: { bold: true } },
  { insert: '</div>\n' }
]);
Run Code Online (Sandbox Code Playgroud)

我还在某个地方读到了quill.js去除了各种html标签的信息,但是我找不到在文档中如何允许它们的标签。

任何帮助,将不胜感激。

干杯:)

javascript quill

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

如何在没有 Nativescript 的 Actionbar 的情况下更改 IOS 中的状态栏颜色?

如果不需要 ActionBar / NavigationBar,我无法弄清楚如何在 nativescript 中更改 IOS 的状态栏。

我试过了:

var navController = frame.topmost().ios.controller;
let navigationBar = navController.navigationBar;
navigationBar.barStyle = UIBarStyle.Black;
Run Code Online (Sandbox Code Playgroud)

但是当没有 ActionBar 时,这完全失败了!

nativescript

4
推荐指数
1
解决办法
499
查看次数

在聚合物元素内动态创建html导入(版本1.0)

在聚合物元素内动态创建html导入

有谁知道如何动态地将html导入添加到聚合物元素(版本1.0)?

下面的代码似乎没有用,并抱怨... HTML element <link> is ignored in shadow tree.

有没有人知道这方面或知道更好的方法?

<!-- here is where the created import could go -->

<dom-module id="my-component">

<!-- here is where I'd ideally like the import to be created -->

  <template>
    <div id="container">

      <!--This is where my dynamically loaded element should be placed-->

    </div>
  </template>

  <script>
    Polymer({is:'my-component',
      attached: function(){

        var importElem = document.createElement('link');
        importElem.rel = 'import';
        importElem.href = '/components/my-dynamic-sub-component.html';
        this.root.appendChild(importElem);
        var app = document.createElement('my-dynamic-sub-component');
        this.$.container.appendChild(app);

      }
    });
  </script>

</dom-module>
Run Code Online (Sandbox Code Playgroud)

html javascript web-component polymer polymer-1.0

3
推荐指数
1
解决办法
4286
查看次数

Laravel刀片@include与@yield

在Laravel刀片上有类似的东西吗?

Route::get('blade', function () {
    return view('aMainPage');
});
Run Code Online (Sandbox Code Playgroud)

aMainPage.blade.php

@include('molecules.blocks.banner', ['background'=> '/image.jpeg'])
   <h1>I am included</h1>
@endinclude
Run Code Online (Sandbox Code Playgroud)

/views/molecules/blocks/banner.blade.php

@if($background)
<section class="banner" style="background-image:url('{{$background}}');">
@else
<section class="banner">
@endif
    <h1>Hello</h1>
    @yield() {{- notice @yield here -}}
</section>
Run Code Online (Sandbox Code Playgroud)

期望的输出

<section class="banner" style="background-image:url('/image.jpeg');">
    <h1>Hello</h1>
    <h1>I am included</h1>
</section>
Run Code Online (Sandbox Code Playgroud)

这是上面呈现的内容

实际产出

 <section class="banner" style="background-image:url('/image.jpeg');">
    <h1>Hello</h1>
</section>


    <h1>I am included</h1>
@endinclude
Run Code Online (Sandbox Code Playgroud)

php laravel blade laravel-blade

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

在新标签中执行内容脚本 - chrome extentions

我正在尝试创建一个chrome扩展程序,它会从特定网站上删除一些内容,然后打开一个新选项卡,并对已删除的数据进行处理.

下面是我做的一个测试,看看我怎么做.不幸的是,我似乎无法执行该newtab-script.js文件,因为我收到此错误:

运行tabs.executeScript时未经检查的runtime.lastError:无法访问url"chrome-extension://FAKEIDgfdsgfdsgfdsgdsgfdsgFAKEID/newpage.html"的内容.扩展清单必须请求访问此主机的权限.at Object.callback(chrome-extension://FAKEIDgfdsgfdsgfdsgdsgfdsgFAKEID/background.js:43:25)

websitescrape.js

var button = document.createElement("button");
button.classList.add("web-scrape");
button.innerHTML = "scrape web";
document.querySelector('.placeIWantToPutButton').appendChild(button);

button.addEventListener('click', scrapeData);

function scrapeData(){
    //do website scraping stuff here...
    var fakedata = [{test:"data1"},{test:"data2"}];

    //send scraped data to background.js
    chrome.runtime.sendMessage({setdata: fakedata}, function(tab){
        //callback
    });
}
Run Code Online (Sandbox Code Playgroud)

background.js

var dataTempStorage = [];

chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
    if (request.setdata) {
        dataTempStorage = request.setdata;

        chrome.tabs.create({
            'url': chrome.extension.getURL('newpage.html')
        }, function(tab) {
            chrome.tabs.executeScript(tab.id, {
                file:chrome.extension.getURL("newtab-script.js")});
        });        
    }

    if (request == "getdata") {
        sendResponse({data: dataTempStorage});
    }    
});
Run Code Online (Sandbox Code Playgroud)

NEWTAB-的script.js

chrome.runtime.sendMessage("getdata", function …
Run Code Online (Sandbox Code Playgroud)

html javascript google-chrome google-chrome-extension

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