小编Ski*_*ick的帖子

有没有一种简单的方法可以在文本框架中单击并拖动滚动?

我有一个div overflow:auto和一个滚动条,我希望能够拖动内容滚动.我不需要能够选择文本.是否有捷径可寻?一个jQuery插件会很好,否则普通的旧JavaScript会很好.

看来我还没有弄清楚自己.我想滚动一个固定高度的div.我没有拿起滚动条,而是想要在相反方向上单击并拖动文本.就像在iPhone上一样.就像在Photoshop中按住空格并拖动一样.

-------------------
|               | |
|               | |
|               |||
|               | |
|         <----------- click here and drag to scroll.
|               | |
|               | |
-------------------
Run Code Online (Sandbox Code Playgroud)

javascript scroll drag-and-drop

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

如何使用XSLT包装一组相邻元素?

我有一些带<ListItem>元素的XML ,我想用<List>元素包装任何连续的运行.因此,源XML看起来像这样:

<Section>
  <Head>Heading</Head>
  <Para>Blah</Para>
  <ListItem>item 1</ListItem>
  <ListItem>item 2</ListItem>
  <ListItem>item 3</ListItem>
  <ListItem>item 4</ListItem>
  <Para>Something else</Para>
</Section>
Run Code Online (Sandbox Code Playgroud)

我想把它转换成这样的东西:

<Section>
  <Head>Heading</Head>
  <Para>Blah</Para>
  <List>
    <ListItem>item 1</ListItem>
    <ListItem>item 2</ListItem>
    <ListItem>item 3</ListItem>
    <ListItem>item 4</ListItem>
  </List>
  <Para>Something else</Para>
</Section>
Run Code Online (Sandbox Code Playgroud)

使用XSLT.我确信这很明显,但我不能在晚上的这个时候解决这个问题.谢谢!


编辑:大多数人都可以安全地忽略这一点.

这个XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Root>
  <Story>
    <Section id="preface">
      <ChapterTitle>Redacted</ChapterTitle>
      <HeadA>Redacted</HeadA>
      <Body>Redacted</Body>
      <BulletListItem>Item1</BulletListItem>
      <BulletListItem>Item2</BulletListItem>
      <BulletListItem>Item3</BulletListItem>
      <BulletListItem>Item4</BulletListItem>
      <HeadA>Redacted</HeadA>
      <Body>Redacted</Body>
      <HeadA>Redacted</HeadA>
      <Body>Redacted</Body>
      <Body>Redacted<Italic>REDACTED</Italic>Redacted</Body>
      <BulletListItem>Second list Item1</BulletListItem>
      <BulletListItem>Second list Item2</BulletListItem>
      <BulletListItem>Second list Item3</BulletListItem>
      <BulletListItem>Second list Item4</BulletListItem>
      <Body>Redacted</Body>
    </Section>
  </Story>
</Root>
Run Code Online (Sandbox Code Playgroud)

有了这个XSL:

<xsl:stylesheet version="1.0" …
Run Code Online (Sandbox Code Playgroud)

xml xslt

8
推荐指数
2
解决办法
3206
查看次数

使用PHP/MySQL实现购物车的最佳方式

我正在客户的网站上工作,他们要求购物车.他们需要使用securetrading.net进行付款,因此我无需索取任何信用卡详细信息.我需要做的就是跟踪购物车中的物品.

我读过有关使用PHP会话的内容,但我担心那里的安全性.如果我存储的唯一信息是产品代码和数量,这不是问题吗?否则,是否值得使用MySQL数据库?

我很抱歉,这似乎是一个显而易见的事情,但这是我第一次实施这种事情!

php shopping-cart

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

三角函数的效率/速度

在我正在制作的游戏中,我有两个点,pt1和pt2,我想弄清楚它们之间的角度.在早先的计算中,我已经计算出了距离.显而易见的方法是在垂直距离(tan(theta)= opp/adj)上确定水平距离.

我想知道,因为我已经计算了距离,使用arcsine/arccosine与距离和dx或dy会更快吗?

另外,我可能会更好地预先计​​算表格吗?

performance geometry

6
推荐指数
4
解决办法
4278
查看次数

是否有可能使Google Closure编译器*不*内联某些函数?

关闭编译器内联函数,但代码尺寸更小,如果该功能没有内联(我只关心代码的大小-这是JS1k).我可以告诉编译器我不希望内联函数吗?

编辑:只是为了解释一下,这是我的功能:

function lineTo(x,y) {
  a.lineTo(x,y);
}
Run Code Online (Sandbox Code Playgroud)

其中,a在画布背景.因为a.lineTo代码中有很多s,所以使用这个函数是值得的.像这样,我的代码是1019个字节(并且所有lineTos都被替换a.lineTo).如果我将功能更改为:

function lineTo(x,y) {
  a.lineTo(x,y);
  console.log();
}
Run Code Online (Sandbox Code Playgroud)

新行以某种方式强制编译器不内联此函数,这给了我993字节.所以,如果我能摆脱,console.log();我将另外保存14个字节.

javascript google-closure-compiler js1k

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

jQuery文本选择事件

我有以下事件处理代码:

$('#main').delegate('.slide', 'click', function () {
  slideshow.next();
});
$('#main').delegate('a', 'click', function (e) {
  e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)

.slide是一个内容很大的div.单击时slideshow.next()调用.slide,除非单击链接,在这种情况下stopPropagation(),.slide从不接收单击事件.

我想在幻灯片上选择文字.此刻,如果我单击并拖动,当我释放鼠标时,选择工作但.slide注册单击并触发该slideshow.next()功能.我可以拦截一个事件吗?

该页面可在此处获得.


编辑:有趣的是,如果选择跨越多个HTML元素,click不会被触发,但选择是在元素内,它会被触发.


Edit2:好的,这是我的解决方案:

function setupHandlers() {
  var prevX = 0;
  var prevY = 0;

  $('#main').delegate('.slide', 'click', function (e) {
    var clickTolerance = 2;
    var dx = Math.abs(e.pageX - prevX);
    var dy = Math.abs(e.pageY - prevY);
    //if mouse has moved less than two pixels in …
Run Code Online (Sandbox Code Playgroud)

jquery events

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

有没有可用的流程图工具?

有没有可用的工具可以用代码制作流程图或流程图。或者从代码中制作任何其他图,例如类图。

java workflow flowchart

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

在Rails视图中避免使用nil

我确信已经有人问过,但我找不到答案.

我有一个项目模型,它belongs_to与我的客户端模型有关系.客户端有一个名称,但项目不一定有客户端.

在我看来,我有这样的代码:

<%=h project.client && project.client.name %>
Run Code Online (Sandbox Code Playgroud)

因为如果项目没有客户端,那么尝试访问project.client.name会导致NoMethodError(nil没有调用的方法name).

问题是,在视图中进行这种零检查是否可以接受,或者我是否应该寻找另一种方法?

model-view-controller null ruby-on-rails

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

优雅的方式来偏向随机布尔值

我想在JavaScript中创建一个随机布尔值,但我想考虑之前的值.如果前一个值为true,我希望下一个值更有可能为真.目前我已经得到了这个(这是在一个闭包的上下文中 - goUp并且lastGoUp是包含范围的本地人):

function setGoUp() {
    goUp = getRandomBoolean();

    if(lastGoUp) {
        goUp = getRandomBoolean() || goUp;
    }
    else {
        goUp = getRandomBoolean() && goUp;
    }
    lastGoUp = goUp;
}
Run Code Online (Sandbox Code Playgroud)

所以,算法是:

  1. 获取随机布尔值
  2. 如果前一次调用的随机布尔值为True:

    a)得到另一个随机布尔值,or这两个在一起

    b)否则得到另一个随机布尔值和and这些.

我确信这个算法可以简化.我想知道做什么:

if(lastGoUp && goUp) {
    goUp = goUp * (getRandomBoolean() || goUp);
}
Run Code Online (Sandbox Code Playgroud)

但那似乎很脏.

这个算法也存在一个问题,这意味着我只能再次获得相同布尔值的几率 - 我无法轻易调整它.有任何想法吗?

javascript random algorithm boolean

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

Rails使用嵌套资源路由根

我有这样一个嵌套资源routes.rb:

map.resources :users, :only => [:index] do |user|
  user.resources :projects
end
Run Code Online (Sandbox Code Playgroud)

它给了我这样的URL /users/2/projects,它将显示所有拥有的项目user2.用户登录后,我希望这是一个根页面,使用map.root.我map.root该如何设置启用此功能?我正在使用设计,所以我可以获得当前用户current_user,但我不确定这是否可用routes.rb.

ruby-on-rails

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