読者です 読者をやめる 読者になる 読者になる

[jquery][lift] jcarousellite_1.0.1.jsをliftでうごかす

liftはYUI Compressorというjavascriptを縮小するツールを使う。
このためliftではwebappの下にjavascriptファイルをおくと、勝手に縮小しようとする。

ここでjcarousellite_1.0.1.jsをおいた時に問題発生。

lift起動時に以下のようなエラーが発生した。

$ mvn jetty:run -U
     :
     :
[INFO] [yuicompressor:compress {execution: default}]
[ERROR] .../src/main/webapp/js/jcarousellite_1.0.1.js:line 239:column 42:invalid property id
	        li.css({overflow: "hidden", float: o.vertical ? "none" : "left"});
[ERROR] .../src/main/webapp/js/jcarousellite_1.0.1.js:line 1:column 0:Compilation produced 1 syntax errors.
     :
     :

これは調べてみると、ここのコメント欄に原因がのっていた。
239行目のfloatという語が予約語のためエラーになるらしい。

このため

li.css({overflow: "hidden", float: o.vertical ? "none" : "left"});
                            ↓
li.css({overflow: "hidden", 'float': o.vertical ? "none" : "left"});

のようにシングルクォーテーションで囲んでやらないといけない。
このように直したら問題なく、動作するようになった。