小编pet*_*rxz的帖子

ScrollMagic 在调整大小时更新触发位置

在我的网站上,ScrollMagic 场景触发器挂钩位置存储在一个数组中slideOffsets = [],该数组在初始化时使用

var scene;
for (var i=0; i<slides.length; i++) {
    //Get offsets
    if(i != 1) {
        scene = new ScrollMagic.Scene({
                triggerElement: slides[i]
            })

            .setPin(slides[i])
            .addIndicators() // INDICATORS FROM PLUGINS
            .addTo(controller);
    } else {
        scene = new ScrollMagic.Scene({
                triggerElement: slides[i], duration: "10%"
            })
            .setPin(slides[i])
            .addIndicators() // INDICATORS FROM PLUGINS
            .addTo(controller);
    }
    slideOffsets.push(Math.ceil(scene.triggerPosition()));
    scenes.push(scene);

}
Run Code Online (Sandbox Code Playgroud)

然后附加到每个<a>元素的函数滚动到相应的位置。这一切都完美无缺,但是在调整窗口大小后这不起作用。我将场景存储在一个数组中,以便我可以访问它们,但是即使在遍历它们并在调整大小后重新存储钩子位置之后,返回的位置也不能反映钩子在页面上的真正位置,即使在尝试采取离开/也添加场景的持续时间。

$(window).on("resize", function() {
    slideOffsets = [];

    for (var i=0; i<slides.length; i++) {
        slideOffsets.push(Math.ceil(scenes[i].triggerPosition() - scenes[i].duration()));
    }
    console.log("regathering done");
});
Run Code Online (Sandbox Code Playgroud)

(顺便说一句,我知道这会在用户调整窗口大小时不断运行,但是我想先解决这个问题) …

javascript jquery scrollmagic

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

Java - 如何使用 FileUtils 移动文件?

每个人都在说使用 fileutils 将文件从 a 点移动到 b 点是多么简单,但我在移动文件时遇到了很多麻烦:(

我在 .jar 所在的目录中有一个 /temp/ 文件夹,在这个临时文件夹中我有一个 .txt 文件,我想向上移动一个目录(所以基本上在 .jar 文件旁边),但我似乎不能这样做它?

这是一些代码,但我知道它还不够接近:

public void replaceFile() {
    String absolutePath = getPath();
    Path from = Paths.get(absolutePath + "\\temp\\test.txt");
    Path to = Paths.get(absolutePath + "\\test.txt");

    try {
        FileUtils.moveFile(FileUtils.getFile(from.toAbsolutePath().toString()), FileUtils.getFile(to.toAbsolutePath().toString()));
        JOptionPane.showMessageDialog(null, "test");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

public String getPath() {
    File jarDir = new File(ClassLoader.getSystemClassLoader().getResource(".").getPath());
    //JOptionPane.showMessageDialog(null, jarDir.getAbsolutePath());
    return jarDir.getAbsolutePath();
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示感谢:\

java io file move fileutils

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

覆盖不同数据类型的函数

我试图定义一个函数,我希望它的行为略有不同,具体取决于作为参数传入的数据类型、字符串和整数。人们会如何去做这件事呢?或者您是否可以建议进行任何更改以某种方式将这两个函数组合成一个函数。我读过,尝试验证数据类型不太像 haskell,所以我认为重写可能是执行此操作的方法,但编译器不喜欢重复:(

jumpTo :: Int -> [String] -> [String]
jumpTo index t = do 
    let (x,y) = splitAt index t
    init x ++ [last x ++ "QQ"] ++ y

jumpTo :: String -> [String] -> [String]
jumpTo string t = do 
    pos <- [fromJust (findWord string t)]
    let (x,y) = splitAt pos a
    init x ++ [last x ++ "QQ"] ++ y
Run Code Online (Sandbox Code Playgroud)

换句话说,我想要一个jumpTo可以传递 aStringInt作为其第一个参数的函数;如果它是一个字符串,我会在列表中找到它,对于一个整数,我会立即使用索引进行操作。使用相同的函数来执行此操作似乎更优雅。

haskell overriding

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

标签 统计

file ×1

fileutils ×1

haskell ×1

io ×1

java ×1

javascript ×1

jquery ×1

move ×1

overriding ×1

scrollmagic ×1