使用 Javascript 更改图片

使用 Javascript 更改图片

几个月以来,我一直找不到通过按下一个字段中的按钮来更改图片的方法。使用文本如下:

\documentclass[a4paper]{article}
\usepackage{eforms}
\begin{insDLJS}[test]{test}{JavaScript}
function MakeArray(2){
    this.length=n
    return this
};
var text=new MakeArray(2);
text[0]='text111';
text[1]='text222';
this.getField("field").value=text[0];
\end{insDLJS}
%
\begin{document}
\textField[\BG{}\BC{}]{field}{80mm}{10mm}\\
\pushButton[\A{\JS{this.getField("field").value=text[1];}}]{myButton}{30mm}{15mm}\\
\pushButton[\A{\JS{this.getField("field").value=text[0];}}]{myButton}{30mm}{15mm}
\end{document}

但现在我想对图片做同样的事情,就像按下按钮改变图片一样。有没有类似:\pictureField[]{}{} 或类似的东西?

编辑
感谢您的回答,但问题出在 media9 包上。我已经使用最新的 l3kernel (2014/...) 完全更新了 lubuntu tex-live,其他 l3 包也是如此。它仍然会产生不同的错误,主要是:l3kernel 太旧,还有一些其他有趣的错误。找不到让 media9 运行的方法。所以很抱歉再次询问:在您的示例中,有没有办法做到这一点,但是没有媒体9包裹?

答案1

在此处输入图片描述

\documentclass{article}
\usepackage{animate,media9,graphicx,mwe}

\begin{document}

\begin{center}
\begin{animateinline}[nomouse,step,label=picfield]{0}
  \includegraphics{example-image-a}
\newframe
  \includegraphics{example-image-b}
\end{animateinline}

\mediabutton[jsaction={anim.picfield.frameNum=0;}]{\fbox{show (a)}}
\mediabutton[jsaction={anim.picfield.frameNum=1;}]{\fbox{show (b)}}
\end{center}

\end{document}

使用\PushButton来自hyperref

\documentclass{article}
\usepackage{animate,graphicx,mwe}
\usepackage{hyperref}

\begin{document}
\begin{Form}

\begin{center}
\begin{animateinline}[nomouse,step,label=picfield]{0}
  \includegraphics{example-image-a}
\newframe
  \includegraphics{example-image-b}
\end{animateinline}

\PushButton[onclick={anim.picfield.frameNum=0;}]{\strut show (a)}
\PushButton[onclick={anim.picfield.frameNum=1;}]{\strut show (b)}
\end{center}

\end{Form}
\end{document}

相关内容